-2

表:

   users (id, name)
   permissions (id, area_id, user_id)

我想选择所有没有 area_id 的用户,让我们在权限表中说 5。

4

2 回答 2

3

在表之间进行左连接,在 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
于 2013-07-05T10:45:27.187 回答
-1
SELECT user.* FROM USER 
INNER JOIN permissions ON 
(user.id=permissions.user_id AND permissions.area_id=0)

希望它会帮助你。

于 2013-07-05T10:41:54.820 回答