0

次のように、network_permissions と device_permissions の 2 つのテーブルがあります。

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 の場合は network_permissions テーブル (perm=3 のユーザー内) にあり、device_permissions にはない user_id のみを使用します。

この場合、結果は 3 になります。これは、net=2 の network_permission テーブルに perm!=3 を持つユーザーがいるが、device_permissions テーブルには存在しないためです。

混乱している場合は申し訳ありません...助けてくれてありがとう。

4

2 に答える 2

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
于 2013-03-20T11:24:16.083 に答える
0

SELECT n.user_id FROM network_permissions AS n Left JOIN devices_permissions AS d ON n.user_id = d.user_id WHERE d.user_id は null で、n.network_id=2 および n.perm=3

于 2013-03-20T11:24:32.087 に答える