从MySQL的连接中获取只存在于一个表中的元素



我有两个表,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

现在,我只会在network_permissions表中(在perm=3的用户中)获取net=2的user_id,而不是在device_permissions中。

我将在这种情况下的结果是:3,因为是烫发的用户!网络=2的network_permission表中=3,但device_permissions表中没有。

对不起,如果它混淆了…谢谢你的帮助。

SELECT n.user_id来自network_permissions左JOIN devices_permissions AS d ON n.user_id = d.user_id

如果d.user_id为null且n.network_id=2且n.perm=3
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

最新更新