以下のSELECTステートメントは、正しいデータを返します。
SELECT stu.sc, stu.sn, COUNT(*) AS Total,
CASE
WHEN COUNT(*) = 3 Then 'Letter 1'
WHEN COUNT(*) = 4 Then 'Letter 2'
WHEN COUNT(*) = 5 Then 'Letter 3'
ELSE 'SARB'
END AS Letter
FROM STU join att ON (stu.SC = att.SC and stu.SN = att.SN)
WHERE att.al in ('c','t','u')
GROUP by stu.sc, stu.sn
HAVING COUNT(*) >= 3
そのクエリに基づいてUPDATEを実行する必要がありますが、理解できないようです。必要なものに似た複数の例をオンラインで調べましたが、これを機能させることができません。私はこのようなことをすることができる必要があります...
UPDATE stu
SET stu.tru =
CASE
When COUNT(*) = 3 Then 'Letter 1'
When COUNT(*) = 4 Then 'Letter 2'
When COUNT(*) = 5 Then 'Letter 3'
ELSE 'SARB'
END
FROM stu JOIN att
on (stu.sc = att.sc and stu.sn = att.sn)
WHERE ATT.AL in ('c','t','u')
GROUP BY stu.sc, stu.sn
HAVING COUNT(*) >= 3
GroupByとHavingina Updateステートメントを直接使用できないことは知っていますが、SetandJoinの前にSelectwithGroupByを使用する例を見てきました。私はそれを機能させることができません。
助けてくれてありがとう。