세로 여러줄을 가로줄로 0 1 833

by 미친꼬부기 [2010.12.23 13:33:05]


우선 Q&A 다 뒤져봤는데 제가 원하는 답변이 없어서 이렇게 올립니다
많은 고수분들의 답변 부탁합니다
데이터
1)====
2 0900
2 1000
2 1300
2 1600
3 1000
3 1100
4 0900
4 0930
4 0950
5 1100
5 1300
6 1700

2)====
2   3      4 5  6
0900 1000 0900 1100 1700
1000 1100 0930 1300
1300    0950 
1600


1)===에 있는 데이터를 쿼리를 써서 2)===형식으로 나오게 하려 합니다
by v상이v [2010.12.23 13:51:41]
WITH tmp AS (
SELECT '2' a,'0900' b FROM DUAL UNION ALL
SELECT '2' a,'1000' b FROM DUAL UNION ALL
SELECT '2' a,'1300' b FROM DUAL UNION ALL
SELECT '2' a,'1600' b FROM DUAL UNION ALL
SELECT '3' a,'1000' b FROM DUAL UNION ALL
SELECT '3' a,'1100' b FROM DUAL UNION ALL
SELECT '4' a,'0900' b FROM DUAL UNION ALL
SELECT '4' a,'0930' b FROM DUAL UNION ALL
SELECT '4' a,'0950' b FROM DUAL UNION ALL
SELECT '5' a,'1100' b FROM DUAL UNION ALL
SELECT '5' a,'1300' b FROM DUAL UNION ALL
SELECT '6' a,'1700' b FROM DUAL
)
SELECT MAX("2") AS "2"
,MAX("3") AS "3"
,MAX("4") AS "4"
,MAX("5") AS "5"
,MAX("6") AS "6"
FROM (
SELECT DECODE(a,'2',b) "2"
,DECODE(a,'3',b) "3"
,DECODE(a,'4',b) "4"
,DECODE(a,'5',b) "5"
,DECODE(a,'6',b) "6"
,ROW_NUMBER() OVER(PARTITION BY A ORDER BY B) rn
FROM tmp
)
GROUP BY RN
ORDER BY RN
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입