我的数据库中有这些表:
“用户”
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 ):在这种情况下,查询的左侧部分为空。- 我想从“用户”表中获取每一行,但如果它不在“nets_permissions”表中,则这些行有 network_id 和 perm 。
所以,从这两个表中,在这个例子中,我会得到这个结果:
id name network_id perm
2 Irene Pippo <null> <null>
3 Luca Niccolini <null> <null>
非常感谢大家的帮助。