sql查询朋友的朋友

sql查询朋友的朋友,第1张

概述我知道如何在1个查询中获得mutal朋友,但现在来了困难的部分,我怎样才能得到所有朋友朋友,这些朋友在1个查询中并不是我的朋友,返回用户ID?我已经看了一些关于这个的帖子,但我无法按照我的意愿让它们工作.我的关系是两种方式,因此如果1和2是朋友,则关系表中存在两行.我的表格及相关信息:table_users user_id table_relations r

我知道如何在1个查询中获得mutal朋友,但现在来了困难的部分,我怎样才能得到所有朋友朋友,这些朋友在1个查询中并不是我的朋友,返回用户ID?我已经看了一些关于这个的帖子,但我无法按照我的意愿让它们工作.

我的关系是两种方式,因此如果1和2是朋友,则关系表中存在两行.

我的表格及相关信息:

table_usersuser_ID
table_relationsrel_IDfrom_IDto_ID

我现在已经用了2天了,我似乎无法让它发挥作用.

最好的问候,
亚历山大最佳答案假设你的ID为1

/*Your frIEnds' frIEnds*/SELECT r2.from_ID FROMtable_relations rINNER JOIN table_relations r2ON r.from_ID = r2.to_IDWHERE r.to_ID = 1EXCEPT /*EXCEPT is Standard but MINUS in Oracle*//*Your frIEnds*/SELECT from_IDFROM table_relationsWHERE to_ID = 1

或者使用OUTER JOIN

SELECT disTINCT r2.from_IDFROMtable_relations rINNER JOIN table_relations r2ON r.from_ID = r2.to_IDleft OUTER JOIN table_relations r3 ON r3.to_ID = r2.from_ID AND r3.from_ID=1WHERE r.to_ID = 1 AND r3.from_ID is null
总结

以上是内存溢出为你收集整理的sql查询朋友的朋友全部内容,希望文章能够帮你解决sql查询朋友的朋友所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1168654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存