乘以计数结果sql

时间:2018-07-31 09:46:59

标签: sql count multiplying

我有两个需要链接的数据库。 一个人有活动及其花费多少。 另一个有多少人注册。 我在第二个活动中使用了按活动计数/分组,它为我提供了每个活动签约人数的总结果。但是,由于这是一个计数,因此我无法再将其与另一张桌子的费用相乘。 我尝试将set / declare与计数值一起使用,以使其可以乘以变量,但它始终返回“未知变量”结果。 任何人都可以想到如何做到这一点?我听说过可能使用左联接? 总的菜鸟在这里。谢谢:)

编辑:

activity (child_id, activity_id) 

每个活动都有一个ID,每个孩子都有一个ID。这些在子级和活动数据库上。这就是告诉我有多少人注册了每个活动。活动数据库具有活动名称和活动成本。

我尝试了

select count (*) 
from childactivity 
group by activity_id 

要让我获得参加每个活动的孩子总数,但不能将其乘以活动价格,因为这是计数结果

2 个答案:

答案 0 :(得分:1)

只需使用joinsum()

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