Create Cursor mySample (sampleID i Autoinc, Date T, Credit Y, Debit Y) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-1)*86400, 800,0) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-10)*86400, 0, 600) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-2)*86400, 0, 150.00) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-3)*86400, 1800,0) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-4)*86400, 50,0) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-5)*86400, 0, 800) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-6)*86400, 0,300) INSERT INTO mySample (date, credit, debit) VALUES ; (Datetime() - (100-7)*86400, 0,250) Select a.sampleID, a.Date,a.credit,a.debit,; sum(Nvl(b.credit-b.debit,0)) as runTot ; from mySample a ; left join mySample b on a.date >= b.date ; group by 2,1,3,4 ; order by 2 BROWSE normalRegards,