1

私は、コース、インストラクター、および 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 つのテーブルの場合はどうにかわかりません。

あなたの助けは本当に感謝しています、ありがとう!

4

1 に答える 1