-- 01,02,03 코드값이 고정값인가요? -- 고정이라면...굳이 위와 같은 복잡한 결과표 보다는 아래처럼 보는게 깔끔하지 않나요? -- num 01 02 03 -- 1 1 1 1 -- 2 1 1 - -- 3 1 - - WITH t AS ( SELECT 1 row_num, 1 count, '01' code FROM dual UNION ALL SELECT 2, 1, '01' FROM dual UNION ALL SELECT 3, 1, '01' FROM dual UNION ALL SELECT 1, 1, '02' FROM dual UNION ALL SELECT 2, 1, '02' FROM dual UNION ALL SELECT 1, 1, '03' FROM dual ) SELECT row_num , MIN(DECODE(code, '01', count)) c01 , MIN(DECODE(code, '02', count)) c02 , MIN(DECODE(code, '03', count)) c03 FROM t GROUP BY row_num ORDER BY row_num ;