컬럼을 열로 나열하기 0 2 1,536

by 불장작 [2023.06.12 12:41:54]


아래의 데이터를 결과값처럼 나타낼수 있을까요? 고수님들의 조언 부탁드립니다.

예제)

'a1' gubun, '2023-06-01' day

'a1' gubun, '2023-06-02' day

'a1' gubun, '2023-06-03' day

'a2' gubun, '2023-06-02' day

'a2' gubun, '2023-06-04' day

==> 결과

gubun, day1, day2, day3, day4

'a1', '2023-06-01', '2023-06-02', '2023-06-03'

'a2', ''                '2023-06-02', ''                ,'2023-06-04'  로 결과값이 나올게 할 수 있을까요

by 마농 [2023.06.12 12:49:14]
WITH t AS
(
SELECT 'a1' gubun, '2023-06-01' day FROM dual
UNION ALL SELECT 'a1', '2023-06-02' FROM dual
UNION ALL SELECT 'a1', '2023-06-03' FROM dual
UNION ALL SELECT 'a2', '2023-06-02' FROM dual
UNION ALL SELECT 'a2', '2023-06-04' FROM dual
)
SELECT *
  FROM (SELECT gubun, day
             , DENSE_RANK() OVER(ORDER BY day) dr
          FROM t
        )
 PIVOT (MIN(day) day FOR dr IN (1, 2, 3, 4, 5))
;

 


by 불장작 [2023.06.12 12:56:18]

원했던 결과가 잘 나오네요. 너무나도 감사합니다.

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