-2

こんにちは、次の 3 つのテーブルを持つ 1 つのデータベースがあります。

Classroom ///
Student ///
ClassroomToStudent

生徒は複数の教室を持つことができます 教室は複数の生徒を持つことができます

Classroom:

classroomid (primary key)
classroomnumber


Student:

studentid (primary key)
studentName


ClassroomToStudent:

ctsid (primary key)
studentid
classroomid

ID 1 の john という生徒と、ID 1 の番号 10 の教室が存在します。ClassroomToStudent テーブルの ctsid は 1、studentid は 1、教室 ID は 1 です。

これらは関連しています。ClassroomToStudent テーブルに 3 つの値を持つ 1 つの行があるので、教室の名前と一致する生徒の名前を表示したいと思います。john には 10 の教室があります。これを HTML テーブルに表示したいのですが、どの結合を使用すればよいかわかりません。誰かがこれで私を助けてくれることを願っています。

4

2 に答える 2

1
SELECT s.studentName, c.classroomnumber
FROM Student AS s
LEFT JOIN ClassroomToStudent AS cs
ON s.studentid = cs.studentid
LEFT JOIN Classroom AS c
ON c.classroomid = cs.classroomid

試してから、while ($databaseClass->fetch($query)必要に応じて結果をエコーし​​ながら、クエリをループします ( ):)

于 2013-05-08T12:06:22.660 に答える
0
SELECT s.studentName
FROM Classroom AS c
LEFT JOIN ClasroomToStudent AS cs
ON c.classroomid = cs.classroomid
LEFT JOIN Student AS s
ON cs.studentid = s.studentid
WHERE c.classroomnumber = x // x is a class number you're looking for

このSQLは、番号xのクラスに接続されている学生の名前を示します

于 2013-05-08T12:33:57.747 に答える