查找其他表中不存在的记录

时间:2014-07-18 06:22:08

标签: mysql sql join exists

我有这个表结构:

-request REQUEST_ID USER_ID

- 用户 用户身份 COMPANY_ID

-company COMPANY_ID

我想从请求表中选择所有那些记录,其中user_id =?并且没有用户的公司ID相同的记录。

1 个答案:

答案 0 :(得分:1)

这通常使用LEFT JOIN来实现:

SELECT r.*
FROM request r
JOIN user u ON r.user_id = u.user_id 
LEFT JOIN u1 ON u1.user_id != u.user_id AND u1.company_id = u.company_id
LEFT JOIN request r1 ON r1.user_id = u1.user_id
WHERE r1.user_id IS NULL

"其中"我们说我们不希望"同一家公司的用户,至少有1个请求"

相关问题