DBにこのテーブルがあります:
「ユーザー」
id email name last_access
1 user1@gmail.com Name1 Surname1 2012-10-05 13:58:19.0
2 user2@gmail.com Name2 Surname2 2012-10-05 13:56:59.0
3 user3@gmail.com Name3 Surname3 2012-10-05 13:57:57.0
"NETS_PERMISSIONS"
user_id network_id perm
1 1234 3
2 1235 3
今、私はこのクエリを持っています:
SELECT DISTINCT user.id, user.name, nets.network_id, nets.perm
FROM users as user LEFT OUTER JOIN nets_permissions AS nets
ON user.id = nets.user_id AND nets.perm <> 3 WHERE user.id!=1 AND nets.network_id=1234
結果のクエリは空ですが、代わりにそれが必要です-「nets_permissions」テーブルから、クエリで指定されたようにperm = 3およびuser_idとnetwork_idの行が除外されます(この場合、user_id = 1およびnetwork_id = 1234の場合) ): この場合、クエリの左側の部分は空です。-「users」テーブルからすべての行を取得したいのですが、「nets_permissions」テーブルにない場合、行には network_id と perm があります。
したがって、この 2 つのテーブルから、この例では、次の結果になります。
id name network_id perm
2 Irene Pippo <null> <null>
3 Luca Niccolini <null> <null>
皆様には大変お世話になりました。