私は、コース、インストラクター、および 2 つを関連付けるテーブルを備えたコース システムを構築しています。
簡略化された表instructors
:
id | name | ...
簡略化された表courses
:
id | name | instructors_needed | ...
簡略化された表link
:
id | course_id | instructor_id
特定のコースに関連付けられているインストラクターの名前を取得するために、次のクエリを作成しました。
SELECT i.name, c.name, c.instructors_needed FROM courses c
LEFT OUTER JOIN
link
ON c.id = link.course_id
LEFT OUTER JOIN
instructors i
ON link.instructor_id = i.id
これはうまくいきます。各コースのインストラクターの数を見つけるために、次のクエリを作成しました。
SELECT COUNT(i.name) as number, c.id, c.name, c.instructors_needed FROM courses c
LEFT OUTER JOIN
link
ON c.id = link.course_id
LEFT OUTER JOIN
instructors i
ON link.instructor_id = i.id
GROUP BY c.ID
2 つのクエリを組み合わせて、特定のケースのインストラクターに関するすべての詳細だけでなく、コースのインストラクターの総数と必要なインストラクターの数も取得したいと考えています。それ、どうやったら出来るの?ここで GROUP BY が問題であることは理解しています。検索しましたが、3 つではなく 2 つのテーブルの例しか見つかりませんでした。3 つのテーブルの場合はどうにかわかりません。
あなたの助けは本当に感謝しています、ありがとう!