とQUERY私はこのテーブルを持っている:SQL(多分基本) - 3つのテーブル
- 学生(名前、studentNumber) - 学生のテーブル
- 加入契約(enrollmentNumber、studentNumber、主題) - テーブル内の被験者と : - 学生が
- グレード(studentNumber、件名、グレード)登録したテストの成績を表
私はこの仕事をしました
生徒の名前、登録されている科目、および受講生が得た の成績を返すSQL命令を記述します。 SQL命令では、 サブジェクトに登録し、そのサブジェクトのテストに参加しなかった学生も返さなければなりません(この場合、学生は登録テーブルに と表示されますが、グレードテーブルには表示されません)。
私はこのクエリを開発:
SELECT * FROM student s
LEFT JOIN enrollments e ON s.studentNumber = e.studentNumber
LEFT JOIN grades g ON e.studentNumber = g.studentNumber
WHERE e.subject = g.subject
ノー成績と入学者数は、(理にかなって)表示されないため、エラーが、最後のWHEREである...誰が助けることができます知っています私はこれを考え出していますか?
第二LEFT、クエリが動作している代わりに – Sparky
学生のテーブルにJOINを変更してみますが、ないよう:あなたはどこの一環として、外部結合にフィルタを使用する場合、それが効果的に内部結合に変換しますその登録+ studentNumberに成績がないときに、登録行が出力に入ることを本当に欲しかった。 – user3674234