2016-02-11 117 views
-1

我試圖連接兩個表名學生和主題,我需要使用兩個表一個搜索查詢,這是我的搜索查詢:MySQL連接返回NULL?

SELECT 
    subjects.subject_name, students.first_name, 
    students.last_name, subjects.examboard, students.student_id 
FROM subjects 
    RIGHT JOIN students 
    ON Subjects.subject_id=students.student_id 
WHERE examboard='OCR' 
ORDER BY last_name ASC 

我的結果: 的ExamBoard(OCR),顯示了... 其餘的部分??對他們中的每一個都是空的。

使用內部連接或右連接,會導致空集。

任何幫助?由於

+1

你爲什麼要加入Subjects.subject_id = students.student_id?他們幾乎沒有辦法匹配。 – durbnpoisn

+1

'math = john doe',基本上? –

+0

請分享有關桌子的信息。 –

回答

0

我猜你的錯誤就是你要加入:

Subjects.subject_id=students.student_id 

它可能應該是:

Subjects.student_id=students.student_id 

而且,當這些是什麼?

WHERE examboard='OCR' 
ORDER BY last_name ASC 

也就是說,它們在哪個表中?它沒有被指定,它應該是。

+0

我的朋友能夠成功地做到這一點,但如果我嘗試比它失敗。 – Rekan

+0

我把表名添加到了where和order by,仍然是相同的結果。我真的不明白這一點。我的朋友有完全相同的表格結構,但對他而言,他的結果並不是「NULL」 – Rekan

+0

您的麻煩(看着您的表格)是您沒有student_id加入。你需要補充一點。要麼是這樣,要麼你需要將subject_id添加到學生表(這可能更好)。這樣,每個學生都可以參考他們擁有的任何主題。 – durbnpoisn