1
我有一张表,我在这里列出参加课程的用户。在这张桌子下面,我想要一个<select>
字段,以及不参加这个班级的用户列表。如何选择id不等于一组答案
查询,列出用户出席类:
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);
的问题是,有几个匹配第二个查询的行,这是不允许的。 你有什么建议如何列出不参加的学生?
你想:'不in' – 2013-02-24 20:37:36
为什么要用'左join'?是否有用户标识存在于课程表中但不在用户表中的情况?此外,你可以使用'AND fkStudentID = NULL'让学生不参加。 – shahkalpesh 2013-02-24 20:38:44
[multiple search condition sql]可能的重复(http://stackoverflow.com/questions/10341394/multiple-search-condition-sql) – gdoron 2013-02-24 20:39:06