我正在获取活动列表(活动)并使用左连接来获取创建活动的用户数据(用户)。在我的应用程序中,用户可以互相关注。
这是我当前的查询,它抓取所有不是你自己发布的活动($user_id)
SELECT
activities.id, activities.user_id, users.id, users.name
FROM
activities
LEFT JOIN
users on activities.user_id = users.id
WHERE
users.id != $user_id
除了活动 + 用户表之外,我的应用程序中还有一个名为关注者的表:
followers
id | user_id_1 | user_id_2 | followed_back
1 1 3 1
2 2 3 0
3 3 1 1
我需要检查您 ($user_id) 是否关注了加入每个活动的特定用户,并可能将这个新字段称为“user_followed”,它代表真/假/空值?
例如,我是 user_id = 1。根据上表,这意味着我已关注 user_id 3。当获取活动并加入/负责 user_id 3 时,新字段“user_followed”将为 true。
因此,我认为我需要合并另一个 SELECT 查询,检查用户是否被关注:
(SELECT
*
FROM
followers
WHERE
user_id_1 = $user_id AND user_id_2 = users.id
)
我只是在很大程度上不确定如何将其合并到我的初始查询中并创建一个表示是或否的新字段。任何帮助将非常感激!