连接表以获取用户活动

时间:2015-06-04 14:30:39

标签: mysql

我有三个表usersusers_followersuser_activity

users包含有关用户,电子邮件,用户名,密码蚀刻的所有数据

user_followers有谁关注谁

user_activity存储用户的所有活动,例如。 “写了一篇文章”

我很难弄清楚如何连接表格,因此输出将是我为所关注的用户提供的所有活动。

让我们说亚当跟随史蒂夫和柯特。史蒂夫发了帖子,几分钟柯特上传了一张图片,史蒂夫评论道。

我想从按时间戳排序的db中获取它。

Steve commented on a picture Curt uploaded a image steve made a post

我这里有一个sql小提琴 http://sqlfiddle.com/#!9/59adf/4

非常感谢帮助!

1 个答案:

答案 0 :(得分:0)

select
u1.user_name as `user_name being followed`,
u2.user_name as `follower_name that followes`,
ua.*
from  users u1
join users_followers uf on uf.user_id=u1.user_id
join users u2 on u2.user_id = uf.follower_id
join user_activity ua on ua.user_id = u2.user_id
where u1.user_name='demo'
order by ua.activity_timestamp