1
我有以下查詢來生成一個報告,使用之間檢查日期是否在一個範圍內。使用之間case語句不工作
由於某種原因,這是行不通的,即使當我輸出數據,我知道它是正確的。
任何想法爲什麼它不工作?
這裏是我的SQL
SELECT @ReportDate
SELECT DATEADD(dd, -1, @ReportDate), DATEADD(dd, -30, @ReportDate)
SELECT i.Total, i.DateDue, c.Email,
CASE
WHEN i.DateDue BETWEEN DATEADD(dd, -1, @ReportDate) AND DATEADD(dd, -30, @ReportDate) THEN '1 - 30'
WHEN i.DateDue BETWEEN DATEADD(dd, -31, @ReportDate) AND DATEADD(dd, -60, @ReportDate) THEN '31 - 60'
WHEN i.DateDue BETWEEN DATEADD(dd, -61, @ReportDate) AND DATEADD(dd, -90, @ReportDate) THEN '61 - 90'
WHEN i.DateDue BETWEEN DATEADD(dd, -91, @ReportDate) AND DATEADD(dd, -120, @ReportDate) THEN '91 - 120'
ELSE '> 120' END
AS [Group]
FROM Data i
而且數據結果:
ReportDate
2014-07-03 11:46:02.467
First Range
Start End
2014-07-02 11:46:02.467 2014-06-03 11:46:02.467
Total DateDue Email Range
121535 2014-06-17 08:50:05.440 [email protected] > 120
833208 2014-06-26 08:50:19.613 [email protected] > 120
381400 2014-06-18 08:50:20.177 [email protected] > 120
創建一個複製問題的小提琴。 –