このクエリでディケンズが間違っているのは何ですか?
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
。
必要はありませmydate
んCASE
SELECT id,
SUM(CASE
WHEN DATEDIFF(day, myDate, GETDATE()) = 0
THEN [Items] ELSE 0 END)
FROM myTable GROUP BY id;
SELECT id, SUM(CASE myDate WHEN DATEDIFF(day, myDate, GETDATE() = 0) THEN [Items] ELSE 0 END) FROM myTable GROUP BY id
正解です
SUM(CASE myDate WHEN DATEDIFF(day, myDate, GETDATE()) )
あなたは閉じ括弧を逃したと思います