Как создать представление из PIVOT SQL - PullRequest
0 голосов
/ 16 января 2019

Преимущества для наших сотрудников имеют 5 плановых типов, мне нужно поместить все данные в представление, которое выглядит следующим образом:

`EMPLID     YEAR   SK   PB   VTO   BV   CT     VC
-----------------------------------------------------
0199990    2017   23   22   5     0    169
0000004    2018   22   0    2          5      65  
0199990    2017   5    34   34    0    55
0000004    2018   23   0    19         5      0  
----------------------------------------------------

` Вот SQL для приведенной выше сводной таблицы

`SELECT *  FROM (SELECT b.emplid,
           b.empl_rcd,
           EXTRACT (YEAR FROM B.ACCRUAL_PROC_DT)
               AS year,
           DECODE (b.plan_type,
                   '50', 'SK',
                   '52', 'PB',
                   '5V', 'VTO',
                   '5Y', 'BV',
                   '5Z', 'CT',
                   '51', 'VC')
               BANK,
             B.HRS_CARRYOVER
           + B.HRS_EARNED_YTD
           - B.HRS_TAKEN_YTD
           + B.HRS_ADJUST_YTD
           + B.HRS_BOUGHT_YTD
           - B.HRS_SOLD_YTD
           - B.HRS_TAKEN_UNPROC
           + B.HRS_ADJUST_UNPROC
           + B.HRS_BOUGHT_UNPROC
           - B.HRS_SOLD_UNPROC
               BALANCE
      FROM ps_leave_accrual b)
   PIVOT (SUM (balance) AS bal
         FOR (bank)
         IN ('SK', 'PB', 'VTO', 'BV', 'CT', 'VC'))

WHERE emplid in ('0199990', '0000004'); `

Как мне превратить это в представление, которое я могу использовать в PS Query. Если я помещу этот код в представление SQL, он завершится неудачно в точке Pivot - «Команда SQL не завершена должным образом»

...