1

次のスキーマを持つSQLサーバーにテーブルがあります。

   **ID   Title     ActiveFromDate  ActiveToDate**
    1      Test       2013-07-06      2013-08-22
    2      Test       2013-07-01      2013-07-30

ActiveFromDate と Active ToDate でレコードを選択したい、つまり、特定の日付範囲の間にあるすべてのレコードを選択したい。

     SELECT ISNULL(COUNT(*),0) AS Total, dbo.ArrangementPromotion.Title
FROM dbo.ArrangementPromotion
WHERE(
       (dbo.ArrangementPromotion.ActiveFromDate BETWEEN '2013-08-01' AND '2013-08-14') 
    OR (dbo.ArrangementPromotion.ActiveToDate BETWEEN '2013-08-01' AND '2013-08-14' )
     )
     AND dbo.ArrangementPromotion.Inactive = 0 
     AND dbo.ArrangementPromotion.Deleted = 0
     AND(12 IS NOT NULL OR dbo.ArrangementPromotion.ID <> 12 )
GROUP BY dbo.ArrangementPromotion.Title

しかし、パラメーター @ActiveToDate の日付がテーブル Active ToDate よりも小さい場合、望ましい結果が得られません。これで私を助けることができる体はありますか?

ありがとう

4

1 に答える 1