我正在构建类似Facebook的新闻源并需要帮助。我们想从新闻Feed中的评论开始。
我们希望显示当前用户在网站上关注的所有人的所有评论。有一个关注者id和followee id的粉丝表。以下是关注者表的基本查询,用于选择当前用户所关注的每个人:
SELECT follower_id, followee_id
FROM followers
WHERE follower_id = $current_id
有一个users表,其中包含user_id和用户名。需要为每个评论选择它以显示评论者姓名。
还有一个评论表。以下是所有评论和用户选择其姓名的基本查询:
SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name,
FROM comments, users
WHERE comments.user_id = users.id
ORDER BY comments.date DESC
问题是我们需要列出您所关注的任何人的所有最新评论。有人可以帮忙吗?
答案 0 :(得分:1)
看起来您只需要合并您提供的两个查询。类似的东西:
SELECT *, CONCAT(users.first_name,' ',users.last_name) AS name,
FROM comments, users
WHERE comments.user_id = users.id
AND comments.user_id IN
(SELECT followee_id
FROM followers
WHERE follower_id = $current_id)
ORDER BY comments.date DESC