여러 데이터를 한 row로 표시 0 1 627

by naverTT [2019.04.26 09:40:59]


여러 ROW의 데이터를 한줄의 ROW로 출력하고 싶습니다.

현재 데이터는 아래와 같이 들어가 있습니다.

 

[실 데이터 형태]

PK_NUM SEQ USER USER_NO
15533 1 홍길동 10101
15533 2 임꺽정 10102
15534 1 강호동 10103
15534 2 유재석 10104
15534 3 금잔디 10105

PK = PK_NUM

(SEQ의 증가값은 알 수 없음. 10까지 늘어날 수도 있고 1일 수도 있음.)

 

[뽑고싶은 데이터형태]

PK_NUM 작성자 작성자NO 확인자 확인자NO 확인자1 확인자1NO
15533 홍길동 10101 임꺽정 10102    
15534 강호동 10103 유재석 10104 금잔디 10105

 

위와 같이 출력하고 싶은데 도움 부탁 드립니다.

by 마농 [2019.04.26 11:02:30]
WITH t AS
(
SELECT 15533 pk_num, 1 seq, '홍길동' user_nm, 10101 user_no FROM dual
UNION ALL SELECT 15533, 2, '임꺽정', 10102 FROM dual
UNION ALL SELECT 15534, 1, '강호동', 10103 FROM dual
UNION ALL SELECT 15534, 2, '유재석', 10104 FROM dual
UNION ALL SELECT 15534, 3, '금잔디', 10105 FROM dual
)
SELECT pk_num
     , MIN(DECODE(seq, 1, user_nm)) user_nm1
     , MIN(DECODE(seq, 1, user_no)) user_no1
     , MIN(DECODE(seq, 2, user_nm)) user_nm2
     , MIN(DECODE(seq, 2, user_no)) user_no2
     , MIN(DECODE(seq, 3, user_nm)) user_nm3
     , MIN(DECODE(seq, 3, user_no)) user_no3
  FROM t
 GROUP BY pk_num
 ORDER BY pk_num
;

 

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