mysql - 获取查询结果的子集

标签 mysql sql union

request 表有外键字段jobuser。我需要提取一个用户同时拥有 job = 35 和 job = 34 的行的子集。

这个查询是否正确地完成了工作?我相信是的。

SELECT * FROM `request` 
WHERE `job` = 35 AND `fulfilled` is NULL 
AND 
`user` IN 
(SELECT `user` FROM `request` WHERE `job` = 34 AND `fulfilled` is NULL )

最佳答案

SELECT user
FROM   request
WHERE  job IN (34,35) AND `fulfilled` is NULL 
GROUP BY user
HAVING COUNT(DISTINCT job) = 2

关于mysql - 获取查询结果的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13163357/

相关文章:

sql - 如何在没有ORDER BY的情况下订购UNION中的条目?

mysql - 使用联合左连接和内连接优化查询

SQL 从包含 xml 的 nvarchar 列中透视动态列

mysql - 从命令提示符使用批处理文件运行 sql 脚本

sql - 从 UNION 中选择顶部...

mysql子查询结果作为字段

c# - 将 oracle 查询的嵌套选择转换为 linq

php - 从 Objective-C 发送的 JSON 数据未在 sql 表中更新

mysql - 3 个相关表合二为一

php - 如何防止 "space"搜索 MySQL 数据库?