簡體   English   中英

取消查詢多列查詢

[英]Unpivot Query with Multiple Columns

我有下面的表( EMP_EIT_EXT ):

EMPLOYEE_NUMBER Next Academic Rank  Max Academic Rank   Max Score   Academic Rank   Promotion Rank  ACADEMIC_RANK_START_DATE ACADEMIC_RANK_END_DATE  Income_code Date(YYYY) Date(MON)   Date(DD)    Amount  Tax?    INCOME_START_DATE   INCOME_END_DATE
--------------- ------------------  ------------------  ----------  -------------   --------------  ------------------------ ------------------      ----------- ---------  ---------   ---------   ------  -----   -----------------   -------------------
33333           Professor           Y                   10.1        Ass.Professor   Y               01-JAN-2017              31-DEC-4712             P           2017       JAN         01          10000   Tax     01-JAN-2017         31-DEC-4712
44444           Ass.Professor       N                   9.7         Student         N               01-JAN-2017              31-DEC-4712             R           2017       JAN         17          50000   Non-Tax 01-JAN-2017         31-DEC-4712

如何取消透視使其垂直方向如下所示?

EMPLOYEE_NUMBER     EXTRA_INFORMATION       INFORMATION_CATEGORY    INFORMATION1    INFORMATION2    INFORMATION3
------------------- ---------------------   ----------------------  --------------  -------------   ------------
33333               Academic Rank           Next Academic Rank      Professor       Y               10.1        
33333               Academic Rank           Academic Rank           Ass.Professor   N               Y           
33333               Academic Rank           Effective Start Date    01-JAN-2017     (NULL)          (NULL)      
33333               Academic Rank           Effective End Date      31-DEC-4712     (NULL)          (NULL)      
33333               Alien Income Forecast   Income_code             P               (NULL)          (NULL)      
33333               Alien Income Forecast   Date                    2017            01              JAN         
33333               Alien Income Forecast   Amount                  10000           Tax             (NULL)      
33333               Alien Income Forecast   Effective Start Date    01-JAN-2017     (NULL)          (NULL)      
33333               Alien Income Forecast   Effective End Date      31-DEC-4712     (NULL)          (NULL)      
44444               Academic Rank           Next Academic Rank      Ass.Professor   N               9.7         
44444               Academic Rank           Academic Rank           Student         N               (NULL)      
44444               Academic Rank           Effective Start Date    01-JAN-2017     (NULL)          (NULL)      
44444               Academic Rank           Effective End Date      31-DEC-4712     (NULL)          (NULL)      
44444               Alien Income Forecast   Income_code             R               (NULL)          (NULL)      
44444               Alien Income Forecast   Date                    2017            17              JAN         
44444               Alien Income Forecast   Amount                  50000           Non-Tax         (NULL)      
44444               Alien Income Forecast   Effective Start Date    01-JAN-2017     (NULL)          (NULL)      
44444               Alien Income Forecast   Effective End Date      31-DEC-4712     (NULL)          (NULL)      

樣本DDL和DML

CREATE TABLE EMP_EIT_EXT    
(
    EMPLOYEE_NUMBER          VARCHAR2(250),
    Next_Academic_Rank       VARCHAR2(250),
    Max_Academic_Rank        VARCHAR2(250),
    Max_Score                VARCHAR2(250),
    Academic_Rank            VARCHAR2(250),
    Promotion_Rank           VARCHAR2(250),
    ACADEMIC_RANK_START_DATE VARCHAR2(250),
    ACADEMIC_RANK_END_DATE   VARCHAR2(250),
    Income_code              VARCHAR2(250),
    Date_YYYY                VARCHAR2(250),
    Date_MON                 VARCHAR2(250),
    Date_DD                  VARCHAR2(250),
    Amount                   VARCHAR2(250),
    Tax                      VARCHAR2(250),
    INCOME_START_DATE        VARCHAR2(250),
    INCOME_END_DATE          VARCHAR2(250)
);

INSERT INTO EMP_EIT_EXT (EMPLOYEE_NUMBER,Next_Academic_Rank,Max_Academic_Rank,Max_Score,Academic_Rank,Promotion_Rank,ACADEMIC_RANK_START_DATE ,ACADEMIC_RANK_END_DATE,Income_code,Date_YYYY,Date_MON,Date_DD,Amount,Tax,INCOME_START_DATE,INCOME_END_DATE)
VALUES('33333','Professor','Y','10.1','Ass.Professor','Y','01-JAN-2017','31-DEC-4712','P','2017','JAN','01','10000','Tax','01-JAN-2017','31-DEC-4712');
INSERT INTO EMP_EIT_EXT (EMPLOYEE_NUMBER,Next_Academic_Rank,Max_Academic_Rank,Max_Score,Academic_Rank,Promotion_Rank,ACADEMIC_RANK_START_DATE ,ACADEMIC_RANK_END_DATE,Income_code,Date_YYYY,Date_MON,Date_DD,Amount,Tax,INCOME_START_DATE,INCOME_END_DATE)
VALUES('44444','Ass.Professor','N','9.7','Student','N','01-JAN-2017','31-DEC-4712','R','2017','JAN','17','50000','Non-Tax','01-JAN-2017','31-DEC-4712');

我知道可以通過UNIONUNION ALL來實現,但我想盡可能使用UnPivot。

當然。 只需從SELECT語句中提取一堆並將它們與UNION結合即可。 您應該能夠弄清楚,以解決練習。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM