I have a table like this (Oracle, 10)
Account Bookdate Amount 1 20080101 100 1 20080102 101 2 20080102 200 1 20080103 -200 ...
What I need is new table grouped by Account order by Account asc and Bookdate asc with a running total field, like this:
Account Bookdate Amount Running_total 1 20080101 100 100 1 20080102 101 201 1 20080103 -200 1 2 20080102 200 200 ...
Is there a simple way to do it?
Thanks in advance.
Do you really need the extra table?
You can get that data you need with a simple query, which you can obviously create as a view if you want it to appear like a table.
This will get you the data you are looking for:
This will create a view to show you the data as if it were a table:
If you really need the table, do you mean that you need it constantly updated? or just a one off? Obviously if it’s a one off you can just ‘create table as select’ using the above query.
Test data I used is:
edit:
forgot to add; you specified that you wanted the table to be ordered – this doesn’t really make sense, and makes me think that you really mean that you wanted the query/view – ordering is a result of the query you execute, not something that’s inherant in the table (ignoring Index Organised Tables and the like).