뒷북이네요. 아래 참고하세요.
with t as (
select 'AA' 품번, '200611' 적용년월, 200 단가 from dual union all
select 'AA', '200703', 210 단가 from dual union all
select 'AB', '200701', 180 단가 from dual union all
select 'AC', '200605', 130 단가 from dual union all
select 'AC', '200702', 140 단가 from dual union all
select 'AC', '200709', 150 단가 from dual
)
select 품번
,sum(case when 적용년월 <= '200701' and '200701' < 다음적용년월 then 단가 end) mon01
,sum(case when 적용년월 <= '200702' and '200702' < 다음적용년월 then 단가 end) mon02
,sum(case when 적용년월 <= '200703' and '200703' < 다음적용년월 then 단가 end) mon03
,sum(case when 적용년월 <= '200704' and '200704' < 다음적용년월 then 단가 end) mon04
,sum(case when 적용년월 <= '200705' and '200705' < 다음적용년월 then 단가 end) mon05
,sum(case when 적용년월 <= '200706' and '200706' < 다음적용년월 then 단가 end) mon06
,sum(case when 적용년월 <= '200707' and '200707' < 다음적용년월 then 단가 end) mon07
,sum(case when 적용년월 <= '200708' and '200708' < 다음적용년월 then 단가 end) mon08
,sum(case when 적용년월 <= '200709' and '200709' < 다음적용년월 then 단가 end) mon09
,sum(case when 적용년월 <= '200710' and '200710' < 다음적용년월 then 단가 end) mon10
,sum(case when 적용년월 <= '200711' and '200711' < 다음적용년월 then 단가 end) mon11
,sum(case when 적용년월 <= '200712' and '200712' < 다음적용년월 then 단가 end) mon12
from (
select 품번
,적용년월
,case when lead(적용년월) over (partition by 품번 order by 적용년월) is null then '999999'
else lead(적용년월) over (partition by 품번 order by 적용년월)
end 다음적용년월
,단가
from t
) t
group by 품번