gpt4 book ai didi

mysql - 不可能的MySQL查询

转载 作者:行者123 更新时间:2023-11-29 01:30:56 25 4
gpt4 key购买 nike

我的数据库中有这个表:

“用户”

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 的行被排除在查询中(在本例中为 ex.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>

非常感谢大家的帮助。

最佳答案

这应该给你你想要的——只有没有 perm 3 和 nework_id 1234 的用户

SELECT u.id, u.name, n.network_id, n.perm
FROM users as u
LEFT JOIN nets_permissions as n
ON u.id = n.user_id AND n.perm = 3 AND n.network_id=1234
WHERE n.network_id IS NULL

关于mysql - 不可能的MySQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com