HAVING句1
Having句は結構自由に書ける。
■以下のテーブルから、全教科を受けているstudent_idを抽出する。
SELECT student_id FROM TestScore
GROUP BY student_id
HAVING (
SELECT COUNT(*) FROM (
SELECT DISTINCT subject FROM TestScore
)A
) = SUM(CASE WHEN student_id IS NOT NULL THEN 1 ELSE 0 END)
HAVING句内で全教科数を抽出し、その数と各生徒毎のレコード数を
比較し、一致していれば全教科受けたとみなせる。
= SUM(CASE WHEN student_id IS NOT NULL THEN 1 ELSE 0 END)
は、Count(*)でも同じ