gpt4 book ai didi

mysql - 查询查找所有没有关联的实体

转载 作者:行者123 更新时间:2023-11-29 05:43:08 24 4
gpt4 key购买 nike

我有两个表,USERS 和 USERS_ASSOCIATIONS

为了简单起见,它们看起来像这样

USERS       USERS_ASSOCIATION
----- --------------------------
|id | |id |fk_id| fk_assoc_id |
----- --------------------------
| 1 | | 1 | 1 | 2 |
| 2 | | 2 | 1 | 3 |
| 3 | --------------------------
| 4 |
-----

用户可以相互关联,因此对于此示例,ID 为 1 的用户关联到用户 2 和 3,但不关联到用户 4。

我正在尝试创建一个查询,以查找与特定用户无关的所有用户。因此,对于用户 1 的示例,查询结果将为 4,如果用户为 2,则查询结果将为 1、3 和 4,因为用户 2 没有任何关联。

到目前为止有这个

SELECT * from USERS WHERE AND USERS.id <> ( SELECT * FROM USERS_ASSOCIATION as UA INNER JOIN USESR as U ON UA.fk_assoc_id = U.id AND UA.fk_id = 1);

我知道这是错误的,子查询返回为特定用户找到的所有 USER_ASSOCIATIONS 的列表。

最佳答案

看起来您只需要一个“不在”而不是“<>”...这应该返回“不在”子查询中的用户列表。

SELECT * 
from USERS
WHERE AND USERS.id not in ( SELECT * FROM USERS_ASSOCIATION as UA INNER JOIN USESR as U ON UA.fk_assoc_id = U.id AND UA.fk_id = 1);

关于mysql - 查询查找所有没有关联的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4886910/

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