集計を使用することをお勧めします:
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 学生はコースに合格しなかったと言います。
提案として、/などの特殊文字を入れないでください および. 列名で。これには、列をエスケープする必要があり、バッククォートで埋められているため、コードの記述が難しくなります。