2016-11-08 33 views
0

我正在使用下面的查詢來拉出一個賬戶列表和隨附的可選代碼。每個帳戶有95個代碼,而不僅僅是我在下面的結果中顯示的2個代碼。在沒有PIVOT的情況下在(RAPID)SQL中創建行到列

SELECT DISTINCT Ref1.ACCOUNT_ID as Acct_Numb, 
Current_Date as DATA_DATE, 
Cat.OPTIONAL_CTGRY_CD As Code, 
Cat.OPTIONAL_CTGRY_CD || ' - ' || Cat.OPTIONAL_CTGRY_NM AS Code_Combo, 
Class.OPTIONAL_CLASS_CD as Code_Answer, 
Class.OPTIONAL_CLASS_NM as Code_Answer_Desc 

FROM xxxxx.zzzzzz_OPT_REF Ref1 

LEFT JOIN xxxxx.zzzzzz_OPT_CATEGORY Cat 
ON xxxxx.zzzzzz_OPT_REF.OPTIONAL_CTGRY_CD = xxxxx.zzzzzz_OPT_CATEGORY.OPTIONAL_CTGRY_CD 

LEFT JOIN xxxxx.zzzzzz_OPT_CLASS Class 
ON xxxxx.zzzzzz_OPT_REF.OPTIONAL_CLASS_CD = xxxxx.zzzzzz_OPT_CLASS.OPTIONAL_CLASS_CD 
AND xxxxx.zzzzzz_OPT_CATEGORY.OPTIONAL_CTGRY_CD = xxxxx.zzzzzz_OPT_CLASS.OPTIONAL_CTGRY_CD 

LEFT JOIN xxxxx.HRTVACT_PCS Acct 
ON xxxxx.ACCOUNT_ID = Acct.ACCOUNTID 

WHERE xxxxx.ACCOUNTSTATUS = 'OPEN' AND xxxxx.ACCOUNTID = '123456' OR xxxxx.ACCOUNTID = '654321' 

ORDER BY ACCT_NUMB ASC, CODE ASC; 

下面是結果

DATA_DATE ACCT_NUMB CODE CODE_COMBO  CODE_ANSWER CODE_ANSWER_DESC 
11/8/2016  123456  1 1 - Reporting  0  NOT APPLICABLE 
11/8/2016  123456  2 2 - System   4  SYSTEM 2 
11/8/2016  654321  1 1 - Reporting  3  APPLIED 
11/8/2016  654321  2 2 - System   3  N/A 

我需要創建,將結果作爲類似於下表中的數據透視表。

     (CODE) (CODE_COMBO) (CODE) (CODE_COMBO) 
DATA_DATE ACCT_NUMB  1 1 - Reporting  2  2 - System 
11/8/2016 123456  0 NOT APPLICABLE 4   SYSTEM 2 (CODE_ANSWER)/(CODE_ANSWER_DESC) 
11/8/2016 654321  3 APPLIED   3   N/A   (CODE_ANSWER)/(CODE_ANSWER_DESC) 

我以前沒有嘗試這樣做,我難倒

回答

0

我一直在使用表的別名,這樣就可以加入一個表與自身在過去做到了這一點。我已經做了4或5列而不是95,所以可能有更好的方法,我不知道。

相關問題