我正在获取活动(活动)列表并使用左连接来获取创建活动的用户数据(用户)。在我的应用程序中,用户可以相互关注。
这是我当前的查询,它会抓取您自己未发布的所有活动($ 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的表:
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”,表示true / false / null值?
例如,我是user_id = 1.基于上表,这意味着我已经关注了user_id 3.当获取活动并且user_id 3加入/负责时,新字段“user_followed”将为真。
因此,我认为我需要合并另一个SELECT查询,检查是否正在关注用户:
(SELECT
*
FROM
followers
WHERE
user_id_1 = $user_id AND user_id_2 = users.id
)
我在很大程度上不确定如何将其合并到我的初始查询中并创建一个表示是或否的新字段。任何帮助将不胜感激!