create table tb(year varchar2(4),month varchar2(2),
value number,code varchar2(10));
insert into tb values(2005,'01',100,123123);
insert into tb values(2005,'02',300,123123);
insert into tb values(2005,'03',300,123123);
insert into tb values(2005,'04',40, 123123);
insert into tb values(2005,'05',40, 123123);insert into tb values(2005,'01',200,5241);
insert into tb values(2005,'02',200,5241);insert into tb values(2005,'01',200,241);
insert into tb values(2005,'03',200,241);select code,
sum(case month when '01' then value else 0 end)  "1月",
sum(case month when '02' then value else 0 end)  "2月",
sum(case month when '03' then value else 0 end)  "3月",
sum(case month when '04' then value else 0 end)  "4月",
sum(case month when '05' then value else 0 end)  "5月",
sum(case month when '06' then value else 0 end)  "6月",
sum(case month when '07' then value else 0 end)  "7月",
sum(case month when '08' then value else 0 end)  "8月",
sum(case month when '09' then value else 0 end)  "9月",
sum(case month when '10' then value else 0 end)  "10月",
sum(case month when '11' then value else 0 end)  "11月",
sum(case month when '12' then value else 0 end)  "12月"
from tb group by code;drop table tb;