0

问题

如何通过 SQL 查询从表 CourseClass 中获取讲师的日程安排?

Course 表与 Instructor 表有多对多关系,并生成 Instructor Course 表。

Course表与Class表有多对多关系,生成CourseClass表。我的图表如下:

ERD 数据库设计图

我尝试的是

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 行。我的结果是错误的还是正确的?

查询结果错误或正确

4

1 回答 1

0

你的结果是正确的。1)您的结果中没有任何重复的行。2)您可以通过查看源表来仔细检查。Inst_Course 中的讲师 1 有 2 个课程 ID(1 和 2),对应于 Course_Class 中的 4 行(参见 CourseID 列,有 3 个“1”时隙和 1 个“2”时隙)。

于 2016-11-29T15:52:31.953 回答