获取查询结果的子集

时间:2012-10-31 17:18:54

标签: 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 )

1 个答案:

答案 0 :(得分:7)

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