0

大学のデータベースでは、学生と学生が登録されているモジュールとの間に多対多の関係があります。ステータスのブリッジテーブルを使用しています。

ブリッジング テーブルのステータスには、複数フィールドの主キーがあります ( studentmoduleの一意の組み合わせ、つまり、std_id と mod_id を使用)。

ただし、このすべてのデータをリストするように設計された一般的な選択クエリからデータを返す場合:

SELECT status.stud_id, student.fname, student.sname, status.mod_id, modle.mtitle, status.grades
FROM status
INNER JOIN modle
ON status.mod_id=modle.mod_id 
INNER JOIN student
ON status.stud_id=student.stud_id 
GROUP BY status.stud_id

クエリは、学生が多くのモジュールを持っている可能性があることを考慮せず、単一のモジュールを持っている学生としてのみ表示します。

4

1 に答える 1

1

なぜあなたは使用するのGROUP BY status.stud_idですか?これが、学生の結果が 1 つしかない理由です。

クエリ内に集計関数が表示されないため、おそらく削除できますGROUP BY

SELECT status.stud_id, student.fname, student.sname, status.mod_id, modle.mtitle, status.grades
FROM status
INNER JOIN modle
ON status.mod_id=modle.mod_id 
INNER JOIN student
ON status.stud_id=student.stud_id 
于 2013-03-19T18:17:21.030 に答える