Вы не указываете псевдонимы для поворотных столбцов, поэтому по умолчанию они заканчиваются как идентификаторы в кавычках, установленные для сопоставляемых значений; поэтому вы можете изменить начало запроса на:
SELECT company_id
, MAX(alt_rec_date) alt_rec_date
, rec_date
, MAX("'STANDARD'") STANDARD
, MAX("'THESEUS'") THESEUS
, CAST(NVL(MAX("'STANDARD_Active'"), 0) AS NUMBER(1)) STANDARD_Active
, CAST(NVL(MAX("'THESEUS_Active'"), 0) AS NUMBER(1)) THESEUS_Active
FROM (
...
Обратите внимание на двойные и одинарные кавычки, а также случай, точно совпадающий с созданной вами строкой; и что вы должны применять кавычки к столбцам из первого и второго стержней.
В качестве альтернативы и, возможно, более наглядно, укажите псевдонимы столбцов:
SELECT company_id
, MAX(alt_rec_date) alt_rec_date
, rec_date
, MAX(STANDARD) STANDARD
, MAX(THESEUS) THESEUS
, CAST(NVL(MAX(STANDARD_ACTIVE), 0) AS NUMBER(1)) STANDARD_Active
, CAST(NVL(MAX(THESEUS_ACTIVE), 0) AS NUMBER(1)) THESEUS_Active
FROM (
...
) Data
PIVOT (
MAX(rec_code)
FOR type_code IN
('STANDARD' as standard,'THESEUS' as theseus)
) pvt
PIVOT (
MAX(active)
FOR active_type_code IN
('STANDARD_Active' as standard_active,'THESEUS_Active' as theseus_active)
) pvt
GROUP BY company_id, rec_date;
Я не уверен, что вам на самом деле здесь нужны два шарнира; без выборочных данных и ожидаемых результатов я вполне могу что-то упустить, но похоже, что вы могли бы сделать:
...
) Data
PIVOT (
MAX(rec_code), MAX(active) as active
FOR type_code IN ('STANDARD' as standard,'THESEUS' as theseus)
)
GROUP BY company_id, rec_date;
Все это выглядит так, как будто это, вероятно, можно упростить.