【发布时间】:2018-06-04 14:07:13
【问题描述】:
我有三个表tblCourse、tblDegree、tblStudent。我创建了一个课程和学位关系表,如tblCourseDegreeRelation。这个关系表当然使用外键和学位表,如下所示:
我需要使用此查询获取所有记录,包括 tblStudent 所有记录:
SELECT * from tbldegree d
INNER JOIN tblcoursedegreerelation cdr ON d.d_id = cdr.d_id
INNER JOIN tblcourse c ON cdr.c_id = c.c_id
INNER JOIN tblstudent s ON d.d_id = s.d_id
ORDER BY cdr.cdr_id DESC
但这只会返回一个学生的记录,而我在数据库中有两个学生,请参阅SQLFiddle:
如何从联接查询中获取所有学生记录?
任何帮助将不胜感激!
【问题讨论】:
-
如果您添加的表格截图是正确的,我看不到第二个学生拥有的学位 id 3 的课程学位映射..确保您的这个映射可用
-
@Hiren 这个映射可用我给了一半截图。
-
如果您可以使用示例数据集创建包含所有表定义的 sqlfiddle.com 示例并与我们共享链接,那就太好了
-
@MKhalidJunaid OP 已经明确表示他们对此不感兴趣。我怀疑温和的重复会影响他们:-(
标签: mysql inner-join multiple-tables