試験結果の表が与えられます。ここで、1 ==合格、0==不合格です。
ID Name Test Result
--------------------
1 John MATH 1
2 John ENGL 1
3 Mary MATH 1
4 Mary PSYC 0
編集:名前が一意であると想定します。
1)すべてのテストに合格した
2)少なくとも1つのテストに失敗した人のすべてのレコードを取得する必要があります
したがって、最初のクエリはジョンと彼のすべてのレコードを返し、2番目のクエリはメアリーと彼女のすべてのレコード(PASSのレコードを含む)を返す必要があります。
自分でを実行してカウントを比較しようとしてLEFT OUTER JOIN
いますが、クエリが機能していないようです。
SELECT * FROM Results R1
LEFT OUTER JOIN Results R2 on R1.ID=R2.ID and R2.Result=1
WHERE ??? count of rows from R1 is compared to count of non-null rows from R2