我正在使用以下系统的Twitter类型。我加入了两个表格,用户和关注者,以获取关注者表中用户的姓氏和名字。然后我在followers表上运行一个内部连接来捕捉关注者和朋友关系。我将跟随者(谁跟随你),跟随(谁跟随)和朋友(彼此跟随)展示结果。twitter风格的追随者/以下/朋友sql查询
通过下面的查询,我只能显示想要看他们的朋友的用户的名字。我想向用户展示FRIENDS,而不是用户自己的名字,但无法弄清楚如何让用户表执行双重任务 - 也就是向我显示用户的姓名和名称他们的朋友,或者只是朋友的名字。
谢谢。
SELECT users.id, users.firstname, users.lastname, followers.follower_user_id, followers.followee_user_id
FROM users
JOIN followers ON followers.follower_user_id = users.id
INNER JOIN followers ff ON followers.followee_user_id = ff.follower_user_id AND followers.follower_user_id = ff.followee_user_id
使用此方法很容易获得关于跟随你的用户的信息,但可以推导出他们是否跟随你。非常高效并在一个查询中完成;只需要重新架构。 – philwinkle 2012-04-27 21:09:24
如果你想要一个快速入门 - 这是一个模型在一个pastie:http://pastebin.com/4UPwAYPX – philwinkle 2012-04-27 21:12:59
谢谢你。你建议的表格设置是我目前的设置。我要去尝试这个新的查询,很快就会回复。 – chowwy 2012-04-27 21:26:18