Создание строк в столбец в (быстрый) SQL без PIVOT

Я использую запрос ниже, чтобы вытащить список учетных записей и дополнительных кодов, которые идут с ними. Есть 95 кодов для каждого счета, а не только 2 я показываю в результатах ниже.

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)

Я не пробовал это раньше, и я в тупике

1 ответ

  1. Я сделал это в прошлом, используя псевдоним таблицы, чтобы вы могли присоединить таблицу к себе. Я сделал это с 4 или 5 колонками не 95, поэтому может быть лучший способ, о котором я не знаю.