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'하지 왜'왼쪽 join'를 사용할 수 있습니까? 사용자 ID가 코스 테이블에는 있지만 사용자 테이블에는없는 경우가 있습니까? 또한, 'AND fkStudentID = NULL'을 사용하여 학생들이 참석하지 못하도록 할 수 있습니다. – shahkalpesh
중복 가능한 [다중 검색 조건 SQL] (http://stackoverflow.com/questions/10341394/multiple-search-condition-sql) – gdoron