I have a simple problem that I need to solve quickly. Would you please lend me your help?
The problem is as fOllows: I have two tables, one definition table and one history table.
create table revenue history(operation_date date, revenue_id number, total_revenue number);
create table revenue_definition(revenue_id number, revenue_name varchar2(100));
insert into revenue_definition values(1,'Car');
insert into revenue_definition values(2,'Minivan');
insert into revenue_definition values(3,'Bus');
insert into revenue history values(sysdate-2,1,100);
insert into revenue history values(sysdate-2,2,150);
insert into revenue history values(sysdate-2,3,100);
insert into revenue history values(sysdate-1,1,200);
insert into revenue history values(sysdate-1,2,150);
insert into revenue history values(sysdate-1,3,200);
insert into revenue history values(sysdate,1,100);
insert into revenue history values(sysdate,2,150);
insert into revenue history values(sysdate,3,100);
Now what i need to do is show a report like this;
operation_date Car Minivan Bus
sysdate 100 150 100
sysdate-1 200 150 200
sysdate-2 100 150 100
I know that I can do this by using either decode or in 11g pivot. But for those I need to know the revenue types (Car,Minivan etc.) in advance and every time a definition is made I need to update my code. I want to avoid this if possible.
Any suggestions would be welcome,
Thanks.