hello, is the output calculated by following rule? on_hand SUM(receipt) - SUM(shipment) - SUM(allocated) available SUM(receipt) - SUM(shipment)
sql can be: sum(case when trans_type='REC' then trans_qty when trans_type IN ('SHP', 'ALL') then -trans_qty else 0) as on_hand sum(case when trans_type='REC' then trans_qty when trans_type = 'SHP' then -trans_qty else 0) as on_hand but i'm courise about if something is allocated and then it shipped, will you delete the record or allocation? On 9/23/2013 10:13 PM, Bret Stern wrote: > I have an inventory transaction table with several fields, > specifically: > part_no > trans_type > trans_qty > > part_no | trans_type | trans_qty > abc REC 5000 (receipt) > abc REC 400 (receipt) > abc SHP 1000 (shipment) > abc ALL 1000 (allocated) > > Looking for the best way to show following totals with SQL > > on_hand | allocated | available > 3400 1000 4400 select part_no, sum(cast when trans_type='REC' then trans_qty else 0) as "on_hand", sum(cast when trans_type='ALL' then trans_qty else 0) as "allocated", sum(cast when trans_type='SHP' then trans_qty else 0) as "allocated" from inventory_transaction_table group by part_no; except, your example output doesn't correlate with your sample input according to any rules I can see. -- john r pierce 37N 122W somewhere on the middle of the left coast -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general .