我有这个表结构:
-request REQUEST_ID USER_ID
- 用户 用户身份 COMPANY_ID
-company COMPANY_ID
我想从请求表中选择所有那些记录,其中user_id =?并且没有用户的公司ID相同的记录。
答案 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个请求"