Our test database samples: SQL> desc test_sum1; Name Null? Type ----------------------------------------- -------- ---------------------------- DB NUMBER(5) CR NUMBER(5) OPB NUMBER(5) SQL> select * from test_sum1; DB CR OPB ---------- ---------- ---------- 0 0 1000 0 500 0 300 -200 0 - 100 0 - 700 0 6 rows selected. Opb?open balance ,cr-? credit, db? debit Debit (minus) Credit (plus) But needed result: ------------------- 1000 (1000+0+0) 1500 (1000+0+500) 1800 (1500+0+300) 1600 (1800-200+0) 1500 (1600-100+0) 800 (1500-700+0)