我需要做一個查詢來獲得每個學生的特定考試的結果,我也想顯示爲NULL的學生誰沒有進入他的分數....Mysql加入四個表並顯示空值
這裏是我的四個表
Student
表Scores
表Student
student_subject
我的錶鏈接
- 評分表(USER_ID )與學生表(USER_ID)
- 考試表(ID)與積分榜(exam.id)
student_subject(USER_ID)與學生表(USER_ID)
student_subject(GROUP_ID)與考試表( GROUP_ID)(我的組數據庫是在另一個數據庫的一些重要原因)
我查詢的工作,但我沒有爲學生沒有進入他的得分誰NULL值
SELECT
scores.result, students.id, exam.name, exam.id
FROM
scores
LEFT JOIN
students ON scores.user_id = students.user_id
LEFT JOIN
exam ON exam.id = scores.exam_id
LEFT JOIN
students_subjects as ss ON ss.user_id = students.id
LEFT JOIN
students_subjects ON students_subjects.group_id = exam.group_id
WHERE
exam.id = 32
GROUP BY
scores.id
輸出
我怎樣才能爲每個學生沒有得分爲特定的考試,誰空值(exam.id = 32)?
編輯的@sceaj
我與你得到這個是查詢(我改變WHERE exam.id = 34 WHERE exam.id = 36爲更好的測試)
SELECT scores.result,students.id,exam.name, exam.id
FROM exam
INNER JOIN students_subjects ON students_subjects.group_id = exam.group_id
INNER JOIN students ON students_subjects.user_id = students.user_id
LEFT OUTER JOIN scores ON scores.user_id = students.user_id
WHERE exam.id = 36
請分享考試表格結構。 – sceaj