gpt4 book ai didi

mysql - 后续 : mySQL SELECT help. 如果或存在?

转载 作者:行者123 更新时间:2023-11-29 12:22:52 25 4
gpt4 key购买 nike

我在这个问题上得到了帮助mySQL SELECT help. IF or EXISTS?之前和现在我对此有一个后续问题。这是表结构:

<code>
* user
user_id
name

* client
client_id
name

* user_client
user_client_id
user_id
client_id
</code>

现在我不想加入任何其他表,我只想提取权限,结果集应返回用户允许的客户端或所有客户端 ID(如果用户存在并且没有条目)对于 user_client 上的该用户。这意味着如果 user_client 上没有 user_id 的行,他就可以访问所有客户端。

我无法弄清楚如何在没有表加入的情况下使其工作,就像我在上一个问题中所做的那样(在这种情况下是消息)

谢谢大家!

编辑:好吧,尝试更好地解释:假设我有 table

<code>
user_id
1
2
3

client_id
10
11
12
13
14

On user_client table
user_id client_id
1 11
1 13
3 14
3 10
</code>

我想要的结果是:如果 user_id 为 1,则结果集将包含 11 和 13。如果 user_id 为 3,则结果集将包含 14、10。如果 user_id 为 2,则结果集将包含 10、11、12、13 和 14。

我希望我能解释得更好。

最佳答案

您应该在问题中提供更多详细信息,以便人们真正了解您想要什么。

无论如何,查询非常简单。只需从 previous question 获取查询即可并删除不必要的连接。

 SELECT client_id
FROM user_client
WHERE user_id = :user_id

UNION

SELECT client_id
FROM client
JOIN `user` U
WHERE U.id = :user_id
AND NOT EXISTS (
SELECT *
FROM user_client
WHERE user_id = U.id
)

关于mysql - 后续 : mySQL SELECT help. 如果或存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28772019/

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