我想加入两个表,让我们说表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中完成此操作吗?
您的方向是正确的,只需添加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