小编典典

左联接SQL的总和

sql

我想加入两个表,让我们说表a和表b。表b到表a的行很多,表b包含价格(实际上是一个购物篮)。所以我想要的是表a的所有记录和表b的价格总和。我试过了

select a.*, sum(b.ach_sell) from bookings a 
left join pricing_line b on b.bookings = a.id

但是,这显然并没有达到我的期望,最终导致所有ach_sell的总和(因此返回了一条记录)。有人会为我提供一个有帮助的解决方案吗?现在我正在以编程方式进行此操作,并且我很确定可以在SQL中完成此操作吗?


阅读 161

收藏
2021-04-22

共1个答案

小编典典

您的方向是正确的,只需添加group by子句以分隔a.id,如下所示:

select a.id, sum(b.ach_sell) 
from bookings a  
  left join pricing_line b 
on b.bookings = a.id 
group by a.id
2021-04-22