我的数据库中有3个MySQL表。他们是:
我希望能够生成一个输出(到XML,但我已经完成了),这将为一组用户所遵循的用户提供活动。
例如:用户1跟随用户2,3和5,而不是用户4。因此,对于该用户,仅显示来自用户2,3和5的活动。但对于跟随用户3和4的另一用户,仅显示3和4.
对于SQL / MySQL,我有点新手,所以我有点迷失。
答案 0 :(得分:0)
查看使用连接,这将是您想要使用的。 我还会重新评估你的表结构,我认为你的表结构中存在缺陷......
像这样的例子(不正确,但是给你一个想法):
select * from dbo.Users as usr
join dbo.follow as flw on usr.userId = flw.usrId
join dbo.Activity as act on act.UserId - flw.userID
以下是DB的示例结构:
使用上述结构。
每次用户关注其他用户时,都会在关注表中添加一条记录。 这是一对多的关系。用户*关注。
您现在可以查询类似的内容:
select followId from dbo.Follow as flw where flw.UserId = 123
这将返回对用户所关注的所有用户的引用。
然后您可以加入 UserFollow 表来识别每条关注记录的关系(基本上匹配用户a>用户b)。
我不知道这是否有意义。有点难以解释......这有意义吗?