チーム、学校、課題のデータベースがあります。課題を選択した後、学校(とにかくそのユーザー)はチームを課題に追加して、彼らが課題に取り組み始めることができるようにすることができます。ER図は次のようになります。 重要:データベースのセットアップで別のことが示唆されている場合でも、チーム<->の割り当て関係は1:Nです。チームは1つの割り当てにのみ取り組むことができます。これは、ORMシステムを介して制御されます。
ここに問題があります。データベースには、学校に属していない課題に取り組むチームがあります。学校は課題を選択し、チームを作成して、課題の選択肢を削除しました。これが当てはまる学校(id、name)を見つける必要があります。
私が思いついたこれまでの最良のクエリは次のとおりです。
SELECT schools.school_id, schools.name
FROM schools
LEFT JOIN teams ON schools.school_id = teams.school_id
LEFT JOIN assignment_teams ON teams.team_id = assignment_teams.team_id
LEFT JOIN assignment_schools ON schools.school_id = assignment_schools.school_id
WHERE assignment_teams.assignment_id != assignment_schools.assignment_id;
しかし、手動で結果を確認したところ、機能しません。私が探している正しいクエリは何ですか?