我有两张桌子(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 |
答案 0 :(得分:1)
这是一种方法
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
答案 1 :(得分:-1)
我修改了你的SQL。请执行并查看
{{1}}
谢谢..