0

問題結果教練ID = 1的查詢是錯誤的或真實

如何獲得通過SQL查詢從表CourseClass教練的時間表?

課程表與教師表多對多有關係,並生成教師課程表。

課程表與多對多的表關聯並生成CourseClass表。 和我的圖如下:

ERD database design digram

我做的嘗試是

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行。 我的結果是錯的還是真的?

Result of query is wrong or true

+0

你爲什麼認爲這是錯的?你認爲應該是哪兩行?請閱讀我發佈給您關於此設計的其他近期問題的答案。 PS Re SO問題:請將信息放入您的問題中,而不是鏈接中。您可以鍵入與ER圖對應的模式。您可以在sqlfiddle.com上運行它,並將輸入和輸出粘貼到您的問題中。閱讀[問]。 – philipxy

回答

0

你的結果是正確的。 1)結果中沒有任何重複的行。 2)你可以通過查看你的源表來仔細檢查。 Inst_Course(1和2)中有兩個課程ID,分別對應Course_Class中的4行(參見CourseID列,有3「1」時隙和1「2」時隙)。