SQL SELECT SUM from two tables and group

I have two tables (PO and GRN). I want to get: [This is what I am doing:] [1] http://sqlfiddle.com/#!9/db000/2

I am getting these results (po_qty, GRN_qty and GRN_balance wrong).

I am waiting:

| 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 |

      

+3


source to share


2 answers


Here's a way to do it

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

+1


source


I changed your SQL. Follow and watch

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

      



Thank..

-1


source







All Articles