ORACLE: Сводная таблица для данных Dynami c - PullRequest
0 голосов
/ 28 мая 2020

У меня есть таблица select * from xx_test

enter image description here

Мне нужен запрос, чтобы получить результат, как показано ниже

enter image description here

Я пробовал следующий запрос

SELECT
    PROJECT,
    TASK,
    PROJ_NAME,
    MAX(CASE WHEN PERIOD = 'DEC-16' THEN cost END) AS DEC_16,
    MAX(CASE WHEN PERIOD = 'JAN-17' THEN cost END) AS JAN_17    
FROM    xx_test
GROUP BY PROJECT,
    TASK,
    PROJ_NAME 

Кажется, он дает желаемый результат, но, к сожалению, данные таблицы будут заполнены на основе периодов, указанных в моем параметры отчета (например, DE C -16, JAN-17 не будут всегда одинаковыми).

Есть ли другой способ добиться этого?

1 Ответ

0 голосов
/ 28 мая 2020

У нас нет динамического c pivot изначально в базе данных, но Антон из AMIS сделал следующее лучшее, что предоставил утилиту PL SQL, чтобы предоставить его

https://technology.amis.nl/2006/05/24/dynamic-sql-pivoting-stealing-antons-thunder/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...