동적 행/열변환 0 2 2,167

by 나나나나 [2016.03.09 16:52:36]


안녕하세요 초보개발자입니다

동적으로 행/열변환하려고 하는데 방법을 몰라 문의드립니다(참고로 오라클 11g 사용합니다)

이렇게 저장되어 있는 데이터를,

코드값 인덱스 사번 사명 전화번호
AAAAA1 1 HHH001 김나나 010-0000-5678
AAAAA1 2 HHH002 강나나 010-0000-5679
AAAAA1 3 HHH003 박나나 010-0000-5680
AAAAA1 4 HHH004 송나나 010-0000-5681
AAAAA1 5 HHH005 최나나 010-0000-5682
BBBBB1 2 HHH006 한니노 010-0000-5688
BBBBB1 4 HHH007 남니노 010-0000-5689
BBBBB1 5 HHH008 현니노 010-0000-5690
BBBBB1 6 HHH009 왕니노 010-0000-5691


이렇게 출력하려고 합니다.

 

코드값 사번 1 성명 1 전화번호1 사번 2 성명 2 전화번호2 사번 3 성명 3 전화번호3 사번 4 성명 4 전화번호4 사번 5 성명 5 전화번호5 사번 6 성명 6 전화번호6
AAAAA1 HHH001 김나나 010-0000-5678 HHH002 강나나 010-0000-5679 HHH003 박나나 010-0000-5680 HHH004 송나나 010-0000-5681 HHH005 최나나 010-0000-5682      
BBBBB1       HHH006 한니노 010-0000-5688       HHH007 남니노 010-0000-5689 HHH008 현니노 010-0000-5690 HHH009 왕니노 010-0000-5691
by swlee710 [2016.03.09 17:17:49]
 
with t(코드값, 인덱스, 사번, 성명, 전화번호) as ( 
select 'AAAAA1', 1, 'HHH001', '김나나', '010-0000-5678' from dual union all 
select 'AAAAA1', 2, 'HHH002', '강나나', '010-0000-5679' from dual union all 
select 'AAAAA1', 3, 'HHH003', '박나나', '010-0000-5680' from dual union all 
select 'AAAAA1', 4, 'HHH004', '송나나', '010-0000-5681' from dual union all 
select 'AAAAA1', 5, 'HHH005', '최나나', '010-0000-5682' from dual union all 
select 'BBBBB1', 2, 'HHH006', '한니노', '010-0000-5688' from dual union all 
select 'BBBBB1', 4, 'HHH007', '남니노', '010-0000-5689' from dual union all 
select 'BBBBB1', 5, 'HHH008', '현니노', '010-0000-5690' from dual union all
select 'BBBBB1', 6, 'HHH009', '왕니노', '010-0000-5691' from dual
)
select *
from t
PIVOT
(max(사번) as 사번,max(성명) as 성명, max(전화번호) as 전화번호 FOR 인덱스 IN (1,2,3,4,5,6))
order by 코드값;

 


by 나나나나 [2016.03.09 17:33:14]

정말 감사합니다 잘 되네요!!!!!!

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