我有2个表:student_courses(id / student_id / course_id)和student_questionnaires(id / student_id / course_id / details)。基本上,我想通过student_courses表并返回一个已经注册课程的人员列表(在student_courses表中),但是没有填写调查问卷(student_questionnaires中没有条目)。我尝试了以下内容:
SELECT sc.* FROM student_courses as sc
LEFT JOIN student_questionnaires as sq on sq.course_id=sc.course_id AND sq.student_id=sc.student_id
我已经玩过加入的类型,但我认为我做错了。
答案 0 :(得分:0)
SELECT sc.*
FROM student_courses as sc
WHERE sc.student_id NOT IN (SELECT student_id FROM student_questionnaires)
答案 1 :(得分:0)
寻找sq.course_id IS NULL
:
SELECT sc.*
FROM
student_courses sc
LEFT JOIN student_questionnaires sq ON sc.student_id = sq.student_id AND sc.course_id = sq.course_id
WHERE sq.course_id IS NULL
答案 2 :(得分:0)
试试这个:
SELECT DISTINCT Student_ID
FROM Student_Courses
WHERE LENGTH(COALESCE(Course_ID)) <> 0 AND Student_ID NOT IN
(SELECT student_id Student_Questionnaires)