在特定的表字段上加入两个表

时间:2016-11-30 03:52:05

标签: mysql sql database phpmyadmin

我有两个表 activity_log user_followers 。我必须加入这两个表并使用他正在关注的用户活动获取用户的活动(假设user_id 6跟随user_id 4)。但是下面的查询只返回id为6的用户的活动。我想获得id为6的用户的活动加上他正在关注的用户的活动。

查询

SELECT activity_log.* 
FROM activity_log 
    join user_followers ON activity_log.user_id = user_followers.follow_id
        AND activity_log.user_id = 6;

activity_log:

enter image description here

user_followers:

enter image description here

1 个答案:

答案 0 :(得分:0)

听起来你想要user_id 6的活动以及他所关注的用户的活动。那将是:

SELECT activity_log.* 
FROM activity_log 
LEFT OUTER JOIN user_followers 
  ON activity_log.user_id = user_followers.follow_id
WHERE (activity_log.user_id = 6 OR ISNULL(user_followers.user_id,0) = 6);

如果user_id 6没有关注者,则使用LEFT OUTER。