這個查詢中狄更斯錯在哪裏?選擇不可以使用
SELECT id,
SUM(CASE myDate
WHEN DATEDIFF(day, myDate, GETDATE()) = 0 THEN [Items]
ELSE 0
END)
FROM myTable
GROUP BY id
???
錯誤說
"Incorrect syntax near '='.
這個查詢中狄更斯錯在哪裏?選擇不可以使用
SELECT id,
SUM(CASE myDate
WHEN DATEDIFF(day, myDate, GETDATE()) = 0 THEN [Items]
ELSE 0
END)
FROM myTable
GROUP BY id
???
錯誤說
"Incorrect syntax near '='.
這是你想要的查詢:
SELECT id,
SUM(CASE WHEN DATEDIFF(day, myDate, GETDATE()) = 0 THEN [Items] ELSE 0 END)
FROM myTable
GROUP BY id;
的myDate
的case
在做什麼你後。它在語法上允許的case
語句的另一種形式:
sum(case mydate when '2013-01-01' then 'New Years Day' . . .
但不是當你有when
後的表達式。
你已經錯過了一個封閉的支架SUM(CASE myDate WHEN DATEDIFF(day, myDate, GETDATE()))
我猜
你不需要的CASE
SELECT id,
SUM(CASE
WHEN DATEDIFF(day, myDate, GETDATE()) = 0
THEN [Items] ELSE 0 END)
FROM myTable GROUP BY id;
SELECT ID後mydate
, SUM(CASE指明MyDate WHEN DATEDIFF(日,指明MyDate,GETDATE()= 0),則[項目] ELSE 0 END) FROM mytable的 GROUP BY ID
這是正確的
'CASE myDate'應該僅僅是'C ASE' –
您正在混合簡單案例表達式和搜索案例表達式之間的語法 - 它們是兩個不同的野獸。 –