세로 데이터를 가로로 바꾸려고 하는데요 0 3 1,910

by 겨울눈 [2013.10.02 10:38:24]


항상 답변 감사드립니다.

현재 나오는 데이터는
ROW_NUM  COUNT CODE
    1 1       01    
    2 1       01
    3 1       01
    1 1       02 
    2 1       02
    1 1       03


CODE별로 그룹지어서 순서를 매겨놨는데 
저 데이터를

ROW_NUM_1  COUNT_1 CODE_1 ROW_NUM_2 COUNT_2 CODE_2 ROW_NUM3 COUNT_3 CODE_3
    1                     1            01               1               1              0 2              1               1            03 
    2            1             01               2                1               02
    3           1             01

이런식으로 표현하고 싶은데 어떻게 하면 좋을까요?
by 우리집아찌 [2013.10.02 11:28:46]

ROW_NUM이 4이상 나오면서 컬럼이 늘어나야하면 안됩니다.

by 마농 [2013.10.02 11:38:41]
-- 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
;

by 겨울눈 [2013.10.02 13:03:47]
감사합니다.

깔끔하고 보기좋네요

코드값은 고정입니다
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입