从MySQL中的连接中获取仅在一个表中的元素

时间:2013-03-20 11:16:07

标签: mysql join

我有两个表,network_permissions和device_permissions如下:

NETWORK_PERMISSIONS
user_id network_id  perm
1        1           3
1        2           4
2        3           3
2        2           1
3        2           1
4        2           3


DEVICES_PERMISSIONS
user_id network_id  device_id   perm
1        2           2           1
2        2           2           1

现在,我只接受net_2的user_id在network_permissions表中(在perm = 3的用户中),但不在device_permissions中。

在这种情况下,我的结果是:3因为net_在用于net = 2的network_permission表中的perm!= 3,但是在device_permissions表中没有。

对不起,如果它很困惑......谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

Select NETWORK_PERMISSIONS.network_id FROM NETWORK_PERMISSIONS LEFT JOIN DEVICES_PERMISSIONS on NETWORK_PERMISSIONS.network_id = DEVICES_PERMISSIONS.network_id AND NETWORK_PERMISSIONS.user_id = DEVICES_PERMISSIONS.user_id

答案 1 :(得分:0)

SELECT n.user_id 来自network_permissions AS n 左JOIN devices_permissions AS d ON n.user_id = d.user_id WHERE d.user_id为null,n.network_id = 2,n.perm = 3