정렬문제 0 1 1,990

by 손님 [SQL Query] 정렬 [2012.12.12 16:24:12]


   A B    C    D E F
-------------------------------------------------
G511  1  5    25  0  0
G511  2  5    22  0  0
G511  3  9    23  0  0
G513  1  5    25  0  0
G513  2  15  70  0  0
G513  3  67  200   0  0
G515  1  10  48  0  0
G515  2  85  396   0  0
G515  3  95  357   5  6
G516  2  10  46  0  0
G516  3  25  84  0  0

A컬럼중에 공통된 부분을  B 컬럼의 순서에 맞춰 한줄로 만들고 싶습니다.

예로 들자면
G511    5  25  0  0  5    22  0  0  9    23  0  0
   -------------------------    -------------------------   ---------------------------
  B(1)  B(2)   B(3)
G513  .....
G515  .....

B의 갯수는 유동적으로 변할수 있습니다.
도와주시면 감사드리겠습니다~
 
by 마농 [2012.12.12 16:51:56]
-- 정적 SQL만으로는 컬럼을 가변적으로 조정할 수는 없습니다.
SELECT a
     , MIN(DECODE(b, 1, c)) c1
     , MIN(DECODE(b, 1, d)) d1
     , MIN(DECODE(b, 1, e)) e1
     , MIN(DECODE(b, 1, f)) f1
     , MIN(DECODE(b, 2, c)) c2
     , MIN(DECODE(b, 2, d)) d2
     , MIN(DECODE(b, 2, e)) e2
     , MIN(DECODE(b, 2, f)) f2
     , MIN(DECODE(b, 3, c)) c3
     , MIN(DECODE(b, 3, d)) d3
     , MIN(DECODE(b, 3, e)) e3
     , MIN(DECODE(b, 3, f)) f3
  FROM t
 GROUP BY a
 ORDER BY a
;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입