我有一张桌子,我在其中列出了参加课程的用户。在此表下方,我想要一个<select>
字段,其中包含未参加课程的用户列表。
列出参加课程的用户的查询:
SELECT * FROM User
left join UserCourse on User.id = UserCourse.fkStudentId
where UserCourse.fkCourseId = 1 and u.fkRoleId = 3;
这是我的代码,我尝试在其中列出“异常”:
SELECT * FROM User where id !=
(SELECT id FROM User
left join UserCourse on User.id = UserCourse.fkStudentId
where UserCourse.fkCourseId = 1 and u.fkRoleId = 3);
问题是,有几行与第二个查询匹配,这是不允许的。您对如何列出未参加的学生有什么建议吗?