mysql - 获取未分配给给定 id 的条目

标签 mysql

我有一个 n-n 连接的表,并且想查询不在列表1112中的人员

用户

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/

相关文章:

php - 帖子的 WordPress 术语列表

java - 使用 MySQL 流式传输大型结果集

php - 在本地运行 Magento 并出现错误 500

mysql - Asp.NET MVC 如何在数据表中快速显示大量数据

php - 在另一个查询中进行查询,如果另一个查询不存在则返回 0 并比较 2 个查询之间的值

mysql - 在 MySQL 中加载一张表慢得离谱

mysql - 我可以使用 ActiveRecord 根据最近匹配(levenshtein 距离)查找行吗

mysql - MySQL 根据日期自动创建表分区

MySQL 将第一个值(-1)设置为数字?

mysql - 如何将 Node.js/passport 合并到我的网站中?