SELECT A.id as ActivityId, A.description, T.id, T.title, COUNT(R.*) as reactionCount
FROM activities
LEFT JOIN activitiesReactions as R ON R.activityId = A.id
LEFT JOIN activitiesTags as T ON A.tagId = T.id
Run Code Online (Sandbox Code Playgroud)
所以基本上我需要一个能够获得所有活动的查询,同时得不到该活动的反应但得到COUNT的反应,这些反应可以在另一个名为activitiesReactions的表中找到,我该怎么做(参见上面的查询我想到的).
所以查询应该返回:
array('activityId' => 3, 'description' => 'doing work', 'reactionCount' => 2)
Run Code Online (Sandbox Code Playgroud)
一个示例行:
Activities table:
id | description
3 doing work
4 checking mail
ActivitiesReactions table:
id | activityId | message
1 3 you never do anywork, so that must be bullshit.
2 3 yes I do alot of work! …
Run Code Online (Sandbox Code Playgroud)