create table tt (
ln int,
pl int,
id int,
qty int,
tqty int,
tax varchar2(15),
td date
)
Table created.
Insert into TT
(LN, PL, ID, QTY, TQTY,
TAX, td)
Values
(1, 9, 23149, 6, 1,
'Non-Taxable', TO_DATE('1/8/2018', 'MM/DD/YYYY'))
1 row(s) inserted.
Insert into TT
(LN, PL, ID, QTY, TQTY,
TAX, td)
Values
(1, 9, 23149, 6, 2,
'Taxable', TO_DATE('11/15/2017', 'MM/DD/YYYY'))
1 row(s) inserted.
Insert into TT
(LN, PL, ID, QTY, TQTY,
TAX, td)
Values
(1, 9, 23149, 6, 1,
'Taxable', TO_DATE('10/16/2017', 'MM/DD/YYYY'))
1 row(s) inserted.
Insert into TT
(LN, PL, ID, QTY, TQTY,
TAX, td)
Values
(1, 9, 23149, 6, 1,
'Non-Taxable', TO_DATE('9/16/2017', 'MM/DD/YYYY'))
1 row(s) inserted.
Insert into TT
(LN, PL, ID, QTY, TQTY,
TAX, td)
Values
(1, 9, 23149, 6, 2,
'Taxable', TO_DATE('5/2/2017', 'MM/DD/YYYY'))
1 row(s) inserted.
COMMIT
Statement processed.
SELECT *
FROM (SELECT ln,
pl,
id,
qty,
tqty,
tax,
td
,SUM(tqty) over (partition by pl ORDER BY td DESC) as CUMULATIVE_QTY
FROM tt
)
WHERE 1=1 --cumulative_qty <= qty
ORDER BY ln, td DESC
LN | PL | ID | QTY | TQTY | TAX | TD | CUMULATIVE_QTY | 1 | 9 | 23149 | 6 | 1 | Non-Taxable | 08-JAN-18 | 1 | 1 | 9 | 23149 | 6 | 2 | Taxable | 15-NOV-17 | 3 | 1 | 9 | 23149 | 6 | 1 | Taxable | 16-OCT-17 | 4 | 1 | 9 | 23149 | 6 | 1 | Non-Taxable | 16-SEP-17 | 5 | 1 | 9 | 23149 | 6 | 2 | Taxable | 02-MAY-17 | 7 |
---|