2013-01-24 83 views
0

如果我剛開始時:重新安排列後逆透視ORACLE

SELECT * FROM unpivot_test; 

     ID CUSTOMER_ID PRODUCT_CODE_A PRODUCT_CODE_B PRODUCT_CODE_C PRODUCT_CODE_D 
---------- ----------- -------------- -------------- -------------- -------------- 
    1   101    10    20    30 
    2   102    40       50 
    3   103    60    70    80    90 
    4   104   100 

,當我我unpivot的獲取值

SELECT * 
FROM unpivot_test 
UNPIVOT (quantity FOR product_code IN (product_code_a AS 'A', product_code_b AS 'B', product_code_c AS 'C', product_code_d AS 'D')); 

     ID CUSTOMER_ID P QUANTITY 
---------- ----------- --- ---------- 
    1   101  A   10 
    1   101  B   20 
    1   101  C   30 
    2   102  A   40 
    2   102  C   50 
    3   103  A   60 
    3   103  B   70 
    3   103  C   80 
    3   103  D   90 
    4   104  A  100 

,如果我想要讓這個數量列顯示P柱之前,如何將我去這樣做,我基本上要

 ID CUSTOMER_ID QUANTITY P 
---------- ----------- ----------- ---------- 
    1   101  10   A 
    1   101  20   B 

.....

的Oracle版本11g的

回答

2
SELECT ID, CUSTOMER_ID, QUANTITY, P FROM 
(SELECT * 
FROM unpivot_test 
UNPIVOT (quantity FOR product_code IN (product_code_a AS 'A', product_code_b AS 'B', 
product_code_c AS 'C', product_code_d AS 'D'))); 
+0

LOOOOOOOOOOOL WOWWWWWWWWWWWWWW OMGGG IM這樣一個白癡 – Ramie