我对 Mysql 中的复杂查询没有很深的了解。
我有一个系统,用户可以在其中相互关注并随时了解他的新闻。
我有两张表:一张用于用户,一张用于保持两个用户之间的连接。
我需要一个好友提示系统吗,例如你推荐的 Facebook 好友。
我想做点什么。例如,我关注了一个特定的用户,而这个用户关注了另一个用户,但我不关注他关注的那个用户。我们三个来自圣保罗所在的同一个城镇,我想查询一下我仍然没有关注的用户,因为他是我 friend 的 friend ,因为他和我在同一个城市。
我的表是:
tb_usuario
id | name | city
1 | Halan | Sao Paulo
2 | John | Sao Paulo
3 | Maria | Sao Paulo
tb_ligacao
id | user_id | id_usuario_seguido
1 | 1 | 2
2 | 2 | 3
有人可以帮助我吗?
最佳答案
您似乎想看看谁是 friend 的 friend 。为此,请使用您的代码:
select * from tb_usario as a left join tb_ligacao as b on a.id = b.id_usuario_seguido where b.user_id = 1
上面的代码将为 ID 为 1 的用户获取所有 friend 。要获取他们的所有 friend ,您将遍历并运行相同的代码,但将 ID 更改为循环的变量。
关于php - 如何创建推荐用户的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221463/