集計を使用することをお勧めします:
SELECT `Reg.No`, SubjectCode, SUM(`Pass/Fail` = 'Pass')
FROM results
GROUP BY `Reg.No`, SubjectCode
HAVING SUM(`Pass/Fail` = 'Pass') = 0;
HAVING
句は、最後の列が'Pass'
である各学生とコースの結果の数をカウントします 。 MySQLでは、ブール値は数値コンテキストでは整数として扱われ、trueは1です。したがって、sum(
合格/不合格= 'Pass')
学生がコースに合格した回数をカウントします。 = 0
学生はコースに合格しなかったと言います。
提案として、/
などの特殊文字を入れないでください および.
列名で。これには、列をエスケープする必要があり、バッククォートで埋められているため、コードの記述が難しくなります。