我需要做一个查询来获得每个学生的特定考试的结果,我也想显示为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