我有一个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 。
答案 0 :(得分:1)
内部查询应该可以解决问题:
SELECT ID, user FROM `User`
WHERE ID NOT IN
(SELECT user_id FROM `Lists` WHERE list_id IN (11, 12))