我有这张桌子:
我完成了这项任务:
编写一条返回学生姓名,注册科目和学生成绩的SQL指令 在受试者中获得。 SQL指令还应该返回注册的学生 主题并没有参加该主题的测试(在这种情况下,学生将出席 在“注册”表中,但不在“成绩”表中。)
我开发了这个查询:
.sidebar {
position: fixed // or absolute
}
我知道错误发生在最后的WHERE,因为没有成绩的注册不会出现(这是有道理的)......任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
移动 " e.subject = g.subject" 作为左连接的过滤器。当您在外部联接上使用过滤器作为where的一部分时,它会将其有效地转换为INNER JOIN:
SELECT * FROM student s
LEFT JOIN enrollments e ON s.studentNumber = e.studentNumber
LEFT JOIN grades g ON e.studentNumber = g.studentNumber
AND e.subject = g.subject