【发布时间】:2016-11-29 15:44:55
【问题描述】:
问题
如何通过 SQL 查询从 CourseClass 表中获取讲师的日程安排?
Course 表与 Instructor 表多对多关系,生成 InstructorCourse 表。
Course 表与Class 表多对多关系,生成CourseClass 表。 我的图表如下:
我尝试的是
SELECT dbo.Class.*, dbo.Course_Class.*, dbo.Course.*, dbo.Inst_Course.*, dbo.Instructor.*
FROM dbo.Class INNER JOIN
dbo.Course_Class ON dbo.Class.ClassID = dbo.Course_Class.ClassID INNER JOIN
dbo.Course ON dbo.Course_Class.CourseID = dbo.Course.CourseID INNER JOIN
dbo.Inst_Course ON dbo.Course.CourseID = dbo.Inst_Course.CourseID INNER JOIN
dbo.Instructor ON dbo.Inst_Course.InstID = dbo.Instructor.InstructorID
WHERE (dbo.Inst_Course.InstID = 1)
我得到 4 行作为查询的结果,我发现它是错误的,它必须是 2 行。 我的结果是错误的还是正确的?
【问题讨论】:
-
为什么你认为它是错误的?你认为应该是哪两行?请阅读我发布的有关此设计的其他最近问题的答案。 PS Re SO问题:请将信息放入您的问题中,而不是链接中。您可以键入与 ER 图对应的架构。您可以在 sqlfiddle.com 上运行它并将输入和输出粘贴到您的问题中。阅读How to Ask。
标签: sql-server-2008 database-design relationship erd entity-relationship-model