|
|
11g之前的老写法:
with t as
(select '01' as mon, 1000 in_val, 500 out_val
from dual
union all
select '02', 200, 600
from dual
union all
select '03', 3000, 3500
from dual
union all
select '04', 5000, 3000
from dual
union all
select '05', 4000, 2000
from dual)
select val_type
,max(decode(mon,'01',decode(val_type,'入库',in_val,out_val))) as jan
,max(decode(mon,'02',decode(val_type,'入库',in_val,out_val))) as feb
,max(decode(mon,'03',decode(val_type,'入库',in_val,out_val))) as mar
,max(decode(mon,'04',decode(val_type,'入库',in_val,out_val))) as apr
,max(decode(mon,'05',decode(val_type,'入库',in_val,out_val))) as may
from t,(select '入库' as val_type from dual union all select '出库' as val_type from dual)
group by val_type;
|
|