2015-10-11 55 views
0

這真的一直在困擾我一段時間。我試圖編寫一個SQL查詢來返回所有課程(名稱),他們的教師(名稱)和他們的必備課程(如果他們存在)。但我的查詢不起作用,我不知道該怎麼辦了。我不斷收到一個空集。MySQL查詢內部連接返回空集

SELECT course, instructors.inst, 
something 
FROM courses a inner join instructors ON a.course_id = instructors.inst_id 
INNER JOIN courses b ON a.prereq = b.course_id where a.prereq IS NOT NULL; 

我在做錯誤的多個內部連接?任何幫助將不勝感激。

+0

也許沒有課程,滿足所有的標準是什麼? – Strawberry

+1

另外,令人驚訝的是,instruct_id不可能引用course_id – Strawberry

+1

如果您發佈相關表的定義,這將是有幫助的... –

回答

0

LEFT OUTER JOIN應該給你結果。如果你在所有連接表中都有數據,則連接只會返回結果。

0

試試這個

SELECT a.course_name AS "Course", instructors.inst_name AS "Instructor", 
b.course_name AS "Prereq" 
FROM courses a 
LEFT OUTER JOIN instructors ON a.course_id = instructors.inst_id 
LEFT OUTER JOIN courses b ON a.prereq = b.course_id