sum case를 사용했습니다.
with t as ( select 1 매체, 'a' 구분, 15 값 from dual union all select 1 매체, 'b' 구분, 20 값 from dual union all select 1 매체, 'c' 구분, 10 값 from dual union all select 2 매체, 'a' 구분, 4 값 from dual union all select 2 매체, 'b' 구분, 5 값 from dual union all select 2 매체, 'c' 구분, 6 값 from dual ) select 구분, sum(case when 매체 = 1 then 값 else 0 end) col1, sum(case when 매체 = 2 then 값 else 0 end) col2 from t group by 구분
pivot 함수는 이렇게 쓰면 되는군요
with t as ( select 1 매체, 'a' 구분, 15 값 from dual union all select 1 매체, 'b' 구분, 20 값 from dual union all select 1 매체, 'c' 구분, 10 값 from dual union all select 2 매체, 'a' 구분, 4 값 from dual union all select 2 매체, 'b' 구분, 5 값 from dual union all select 2 매체, 'c' 구분, 6 값 from dual ) select * from t pivot (sum(값) for 매체 in (1 as col1, 2 as col2) );