繁体   English   中英

SQL SELECT SUM来自两个表和group by

[英]SQL SELECT SUM from two tables and group by

我有两张桌子(PO和GRN)。 我想得到:[这就是我在做的事情:] [1] http://sqlfiddle.com/#!9/db000/2

我得到了这些结果(错误的po_qty,GRN_qty和GRN_balance)。

我期待的是:

| Item | PONO | po_qty | GRN_qty | GRN_balance |
|------|------|--------|---------|-------------|
|    A |  po1 |     70 |      65 |           5 |
|    B |  po1 |     50 |       0 |          50 |
|    C |  po2 |     10 |       5 |           5 |
|    D |  po3 |     20 |       0 |          20 |
|    A |  po4 |     15 |      10 |           5 |

这是一种做法

select 
p.Item,
p.PONO,
sum(p.Qty) as po_qty,
coalesce(g.GRN_qty,0) ,
sum(p.Qty) - coalesce(g.GRN_qty,0) as GRN_balance
from PO p
left join (
  select PONO,Item,sum(Qty) as GRN_qty from GRN
  group by PONO,Item
)g
on g.PONO = p.PONO and g.Item = p.Item
group by p.Item,p.PONO
order by p.PONO

http://sqlfiddle.com/#!9/db000/30

我修改了你的SQL。 请执行并查看

SELECT PO.Item,PO.PONO,
       PO.Qty as po_qty,
       GRN.Qty as GRN_qty,
  PO.Qty- GRN.Qty as GRN_balance
from PO,GRN
group by PO.Item

谢谢..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM