SQL:
SELECT * FROM
(
SELECT ORG_TOT_LOWEST_LEVEL_ID, ORG_TOT_ACCTG_DEPT_ID,
EMPL_SCENR_DIM_MBR_CD, EMPL_VER_DIM_MBR_CD, ORG_TOT_ALLOC_POOL_CD,
EMPL_VAL_AMT, EMPL_FMONTH, EMPL_FYEAR, EMPL_FMONTH
FROM EMPL_FCST
)
PIVOT
(
SUM(EMPL_VAL_AMT)
FOR (EMPL_FMONTH, EMPL_FYEAR)
IN ((01,2018), (02,2018))
)
ОБРАЗЕЦ ДАННЫХ:
OTHER_SELECT_COLUMNS | EMPL_VAL_AMT | EMPL_FMONTH | EMPL_FYEAR
--------------------- -------------- ------------- ------------
ABC 1111 1 2018
ABC 1112 6 2019
НЕОБХОДИМЫЙ РЕЗУЛЬТАТ:
OTHER_SELECT_COLUMNS | 1/2018 | 6/2019
--------------------- --------- --------
ABC 1111 1112
ОШИБКА:
Error starting at line : 1 in command -
SELECT * FROM
(
SELECT ORG_TOT_LOWEST_LEVEL_ID, ORG_TOT_ACCTG_DEPT_ID,
EMPL_SCENR_DIM_MBR_CD, EMPL_VER_DIM_MBR_CD, ORG_TOT_ALLOC_POOL_CD,
EMPL_VAL_AMT, EMPL_FMONTH, EMPL_FYEAR, EMPL_FMONTH
FROM EMPL_FCST
)
PIVOT
(
SUM(EMPL_VAL_AMT)
FOR (EMPL_FMONTH, EMPL_FYEAR)
IN ((1,2018), (2,2018))
)
Error at Command Line : 11 Column : 8
Error report -
SQL Error: ORA-00918: column ambiguously defined
00918. 00000 - "column ambiguously defined"
*Cause:
*Action:
Я пытаюсь объединить EMPL_FMONTH
и EMPL_FYEAR
как FOR в моем сводном столбце, поэтому заголовок столбца выглядит как MM / YYYY в верхней части с суммой EMPL_VAL_AMT
под заголовком каждого столбца. Я чувствую, что мне нужен какой-то оператор EMPL_FMONTH||"/"||EMPL_FYEAR
в дополнение к получению запроса для объединения полей в FOR. Есть идеи?