gpt4 book ai didi

mysql - 使用mysql获取 friend 的 friend

转载 作者:行者123 更新时间:2023-11-29 00:21:32 24 4
gpt4 key购买 nike

我正在查询,我想获得 friend 的 friend ,但问题是如果我的 friend 也是 friend ,它也会提示他们的 ID。假设用户 id 是 1 并且他有两个 friend 23 并且 2 有 43 和 3 是 52 的 friend 然后它建议我 4,5 它应该但也建议 2,3 因为他们是 friend 而且他们也是我的 friend 这是错误的它应该只建议 4,5

我的查询是

SELECT fr.friend_id 
FROM friend_list fl ,friend_list fr
WHERE fl.login_id='27'
AND fl.status='3'
AND fl.friend_id=fr.login_id
AND fr.status='3'
AND fl.login_id!=fr.friend_id

最佳答案

一种方法是添加 WHERE NOT IN 谓词:

SELECT fr.friend_id 
FROM friend_list fl
INNER JOIN friend_list fr ON fl.friend_id = fr.login_id
AND fl.status = fr.status
WHERE fl.login_id = 27 AND fl.status = '3'
AND fr.friend_id NOT IN(SELECT friend_id
FROM friend_list
WHERE login_id = 27 AND friend_id IS NOT NULL)

NOT IN 之后的子查询将选择您传递的好友 ID 的好友。排除它们。

对于您在问题中给出的示例,这只会给您 4、5:

| FRIEND_ID |
|-----------|
| 4 |
| 5 |

请注意:我使用了明确的 JOIN 语法而不是您正在使用的旧的 JOIN 语法,它应该是相同的但它建议使用新的。

关于mysql - 使用mysql获取 friend 的 friend ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20855016/

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