我在mysql中有一个带有account_follow名称的表。
关注者,然后指向用户ID。
当跟随者字段指向跟随字段表示用户时,跟随一个具有特定ID的人,当跟随者指向跟随并跟随指示跟随者时,意味着跟随者和跟随者之间是友谊。我的问题是我如何选择跟随者的朋友(追随者领域)与这个架构,例如我想选择一个追随者并得到朋友,它在查询中是否可行?或者我必须在php中解决这个问题(我不应该使用)?
示例:
答案 0 :(得分:1)
我希望我能正确理解你的问题......
无论如何,您可以通过用户ID获得逗号分隔的“跟随”列表。我假设您正在根据用户ID进行查询。
FollowedList = Convert(varchar(50),replace(
(SELECT distinct followed as [data()]
FROM account_follow a
WHERE a.follower = b.user_id
ORDER BY follower_id for xml path ('') ), ' ', ',') )
这是一个子查询 - 因此您可以在主查询中选择FollowedList,将该表与您的主表连接,该主表在此查询中称为“b”。
如果列表超长,您可能需要将其转换为不仅仅是varchar(50)。