私はケース句で少し問題があります。問題はDueBeyondで終わる最後の部分にあります。私は今日から2日目のように、明日を越えて予定されている私たちの注文を返すために必要です。あまりにも明白なことを申し訳ありません。ケース句の一部が正しく動作しません
SUM(CASE WHEN CURRENT_TIMESTAMP > oi.RequiredByDate THEN 1 ELSE 0 END) as PastDue
,SUM(CASE WHEN DATEADD(dd, DATEDIFF(dd, 0, oi.RequiredByDate), 0) = dateadd(day, datediff(day, '19000101',CURRENT_TIMESTAMP),'19000102') then 1 ELSE 0 END) as DueTomorrow
,SUM(CASE WHEN dbo.TruncateDate(CURRENT_TIMESTAMP) = dbo.TruncateDate(oi.RequiredByDate) THEN 1 Else 0 END) as DueToday
,SUM(CASE WHEN DateDiff(day, getdate(), RequiredByDate) BETWEEN 2 and 7 AND DateName(weekday, RequiredByDate) = 'Monday' Then 1 ELSE 0 END) as DueMonday
,SUM(CASE WHEN dbo.TruncateDate(CURRENT_TIMESTAMP) <= dbo.TruncateDate(oi.RequiredByDate) THEN 1 ELSE 0 END) as DueBeyond
問題が何ですか。いくつかのサンプル入力と期待/実際の出力は、この質問を答えるのに役立ちます。 –
どのバージョンのSQL Serverですか? –
データが不足して申し訳ありません。この – wondergoat77