select ステートメントの条件に基づいて、フィールド/列から複数の値を取得しようとしているシナリオがあります。Case ステートメントを使用しようとしましたが、問題は、Case ステートメントがフィールド/列で複数の値をサポートしていないことです。これを回避する方法、またはこれを達成するための他の方法はありますか?
SELECT col1, col2, col3, Period
FROM tblMonthlyCost
WHERE Period = CASE
WHEN Datepart(MONTH, Getdate()) = 8
AND Datediff(DAY, '07/31/2012', Getdate()) <= 3 THEN Period IN
('0112','0212','0312','0412','0512','0612')
WHEN Datepart(MONTH, Getdate()) = 8
AND Datediff(DAY, '07/31/2012', Getdate()) > 3 THEN Period IN
('0112','0212','0312','0412','0512','0612','0712')
END