获取引用表行的总和

i1icjdpr  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(274)

t领主

OrderId totalamount  OrderStatus
 01        1000           4
 02        2000           4

特布尔卡特

CartId    OrderId   NetPrice 
  05         01          400
  06         01          650
  07         02          750
  08         02          1350

期望结果:

OrderId  totalamount  OrderStatus  NetPrice ItemCount
  01        1000           4         1050      2
  02        2000           4         2100      2

我想实现两个表的连接 SUM(Netprice) 基于 OrderId Link 我尝试使用存储过程的sql查询来实现这一点,但它给出了一个模棱两可的列错误。

pcrecxhr

pcrecxhr1#

请使用下面的查询,

select t1.OrderId, t1.totalamount, tl1.OrderStatus, sum(t2.NetPrice) as NetPrice , 
count(1) as ItemCount from
tblOrders t1
inner join tblCart  t2
on (t1.OrderId = t2.OrderId)
group by t1.OrderId, t1.totalamount, tl1.OrderStatus;
kupeojn6

kupeojn62#

如果您想要orders表中的所有列以及其他列中的汇总数据,您可能会发现 apply 有帮助:

select o.*, c.*
from tblOrders o outer apply
     (select sum(c.netprice) as netprice, count(*) as itemcount
      from tblCart c
      where c.OrderId = o.OrderId
     ) c;

相关问题