2016-11-08 11 views
0

私は以下のクエリを使用して、アカウントのリストとそれらに付随するオプションのコードをプルアップしています。下の結果に表示されている2つのコードだけでなく、アカウントごとに95のコードがあります。ここで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

を困惑しています。私は、95ではない4または5の列でそれを行ったので、私が気づいていないより良い方法があるかもしれません。

関連する問題