From: | Sim Zacks <sim(at)compulab(dot)co(dot)il> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | complicated running aggregate |
Date: | 2010-06-24 12:40:04 |
Message-ID: | 4C235224.7030805@compulab.co.il |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I am trying to build a query with a running total, but it is a bit
complicated.
We have different stock for leaded and unleaded parts, but we also have
one stock if it is lead free and can be used in a leaded process (lfb -
lead free both).
I have the following fields: id,fkey_id,partid, duedate, qty, leadfree,
stock_l, stock_lf, stock_lfb
I want to write a query that tells me for each row how much leaded stock
I have already committed and how much lead free stock I have committed.
If we use stock that is LFB then it goes on the commitment for both
columns. If it is a lead free row and we do not have enough stock, it is
only a commitment for the lead free stock (same idea for the leaded rows).
The rule is that if you have leaded or lead free stock, you use that
before LFB stock.
The table can be self joined on partid where the second table has an
earlier duedate (and an earlier fkey_id if the dates are the same)
I have rows:
id fkey_id partid duedate qty leadfree stock_l
stock_lf stock_lfb
1 100 126 1/1/2011 100 t 10
15 300
2 105 126 1/2/2011 150 t 10
15 300
3 109 126 1/3/2011 200 f 10
15 300
4 110 126 1/4/2011 100 t 10
20 300
5 115 126 1/5/2011 200 f 10
20 300
6 114 126 1/6/2011 500 t 10
20 300
My end result should look like:
id fkey_id partid duedate qty leadfree stock_l
stock_lf stock_lfb commited_L commited_LF
1 100 126 1/1/2011 100 t 10
15 300 0 0
2 105 126 1/2/2011 150 t 10
15 300 85 100
3 109 126 1/3/2011 200 f 10
15 300 235 250
4 110 126 1/4/2011 100 t 10
20 300 435 315
5 115 126 1/5/2011 200 f 10
20 300 435 415
6 114 126 1/6/2011 500 t 10
20 300 635 415
Currently I'm generating this information using a plpsql loop, but I
would like to change it to an SQL query, if possible.
Thanks
Sim
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2010-06-24 13:51:28 | Re: unexpected effect of FOREIGN KEY ON CASCADE DELETE |
Previous Message | Norberto Delle | 2010-06-24 12:34:48 | Could not locate a valid checkpoint record |