获取未分配给给定ID的条目

时间:2017-10-24 08:48:39

标签: mysql

我有一个n-n连接表,喜欢在 11 12

列表中查询的人

用户

ID | user
===========
 1 | Joe
 2 | Jane
 3 | Jim
 4 | Jack

解释

 user_id | list_id
 =================
 1       | 10
 1       | 11
 1       | 12
 2       | 10
 2       | 12
 3       | 10

结果应为

3, Jim
4, Jack

我试过

SELECT user.ID, user.name FROM user 
   LEFT JOIN user_lists ON user_id = user.ID AND user_id NOT IN (11, 12)

这显然也给了我 Jane

1 个答案:

答案 0 :(得分:1)

内部查询应该可以解决问题:

SELECT ID, user FROM `User`
WHERE ID NOT IN 
   (SELECT user_id FROM `Lists` WHERE list_id IN (11, 12))

小提琴作为例子:http://sqlfiddle.com/#!9/67933d/2