我有两个需要链接的数据库。 一个人有活动及其花费多少。 另一个有多少人注册。 我在第二个活动中使用了按活动计数/分组,它为我提供了每个活动签约人数的总结果。但是,由于这是一个计数,因此我无法再将其与另一张桌子的费用相乘。 我尝试将set / declare与计数值一起使用,以使其可以乘以变量,但它始终返回“未知变量”结果。 任何人都可以想到如何做到这一点?我听说过可能使用左联接? 总的菜鸟在这里。谢谢:)
编辑:
activity (child_id, activity_id)
每个活动都有一个ID,每个孩子都有一个ID。这些在子级和活动数据库上。这就是告诉我有多少人注册了每个活动。活动数据库具有活动名称和活动成本。
我尝试了
select count (*)
from childactivity
group by activity_id
要让我获得参加每个活动的孩子总数,但不能将其乘以活动价格,因为这是计数结果
答案 0 :(得分:1)
只需使用join
和sum()
:
select a.activity_id, count(*) as num_children,
sum(a.activity_cost) as tot_cost
from activity a left join
childactivity ca
on a.activity_id = ca.activity_id
group by a.activity_id;
答案 1 :(得分:0)
将其作为子查询执行,然后将成本数据加入其中:
select t1.activity_id, tot_children, tot_children * activity_cost as tot_price
from
(
select activity_id, count(child_id) as tot_children
from child_activity
group by activity_id
) t1
left join activity t2
on t1.activity_id = t2.activity_id