我有一个问题,我需要能够计算孩子已注册要做的活动数量。目前,我有这个:
SELECT child_fname, activity_id
FROM Child
LEFT JOIN Activity
ON Activity.ActivityID=activity.activity_id
ORDER BY Child.child_fname;
我的桌子是这样的:
子表
活动
ChildActivity
我正在寻找类似的东西
我尝试使用JOIN,但我的查询没有更新新数据
答案 0 :(得分:0)
使用INNER JOIN
SELECT Child.child_firstname, COUNT(Activity.activity_id)
FROM Child
INNER JOIN Activity ON Activity.activity_id=ChildActivity.activity_id
INNER JOIN ChildActivity ON ChildActivity.child_id=Child.child_id
ORDER BY Child.child_firstname;
Ps:请检查列名和表格。
示例 SQL Inner-join with 3 tables?
答案 1 :(得分:0)
这就是我想要的
SELECT child_fname as Name, count(activity_id) as `Number of Activities`
FROM Child
LEFT JOIN ChildActivity
ON ChildActivity.child_id=Child.child_id
GROUP BY Child.child_id
ORDER BY COUNT(activity_id) DESC;
重点是您想将Child
与ChildActivity
一起加入并按Child
分组,这样,Child
中的每条记录都会得到一个活动计数。