【发布时间】:2013-07-05 10:33:43
【问题描述】:
表格:
users (id, name)
permissions (id, area_id, user_id)
我想选择所有没有 area_id 的用户,比如权限表中的 5。
【问题讨论】:
表格:
users (id, name)
permissions (id, area_id, user_id)
我想选择所有没有 area_id 的用户,比如权限表中的 5。
【问题讨论】:
在表之间进行左连接,在 ON 子句中检查相关的 area_id(因此,如果没有匹配的记录,左表行仍然被带回),但是在 WHERE 子句中检查没有匹配的记录.
SELECT a.*
FROM users a
LEFT OUTER JOIN permissions b
ON a.id = b.user_id
AND b.area_id = 5
WHERE b.id IS NULL
【讨论】:
SELECT user.* FROM USER
INNER JOIN permissions ON
(user.id=permissions.user_id AND permissions.area_id=0)
希望对您有所帮助。
【讨论】: