我一直在为一个查询苦苦挣扎几个小时,但就是无法正确处理。两张表,一张用于学生,另一张包含每个学生注册的所有课程。我需要一个结果集,每个学生有一行,加上学生注册的课程数。这是我迄今为止最接近的尝试:
SELECT
count(*), student.*
FROM student
LEFT JOIN schedule
ON student.id = schedule.studentid
GROUP BY schedule.studentid
我使用 LEFT JOIN 是因为结果必须包括尚未注册任何课程的学生。这些表由学生 ID 连接,这也是我对它们进行分组的方式。
当前的演绎似乎(大部分)有效,但它不会在没有任何课程的情况下返回学生。
我被困在这里,正在寻找任何可以让我快速摆脱困境的人。感谢您提供的任何牵引力!