-2

您好,我有 1 个数据库,其中包含以下 3 个表:

Classroom ///
Student ///
ClassroomToStudent

一个学生可以有多个教室 一个教室可以有多个学生

Classroom:

classroomid (primary key)
classroomnumber


Student:

studentid (primary key)
studentName


ClassroomToStudent:

ctsid (primary key)
studentid
classroomid

一个名为 john 的学生,其 id 为 1,一个名为 10 的教室,其 id 为 1 excist。ClassroomToStudent 表的 ctsid 为 1,studentid 为 1,教室 id 为 1。

这些是相关的。因此,现在 ClassroomToStudent 表有 1 行和 3 个值,我想显示与教室名称匹配的学生姓名。所以 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 回答