我有一个 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。
最佳答案
内部查询应该可以解决问题:
SELECT ID, user FROM `User`
WHERE ID NOT IN
(SELECT user_id FROM `Lists` WHERE list_id IN (11, 12))
以 fiddle 为例:http://sqlfiddle.com/#!9/67933d/2
关于mysql - 获取未分配给给定 id 的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46906009/