Я пытаюсь построить PIVOT-таблицу в Oracle APEX 5. У меня есть 3 таблицы:
Таблица CAB
Идентификационный номер
CAB_DATE DATE
Таблица CAB_DEP_TO_CAB
CAB_IDVARCHAR2
DEP_ID VARCHAR2
Таблица CAB_DEP
Идентификационный номер
DEP_NAME VARCHAR2
я пробовал:
SELECT DISTINCT
LISTAGG('''' || CAB_DATE || ''' AS ' || CAB_DATE,',')
WITHIN GROUP (ORDER BY CAB_DATE) AS temp_in_statement
FROM (SELECT DISTINCT CAB_DATE FROM CAB);
это работает без проблем, но не PIVOT:
SELECT * FROM
(SELECT cd.dep_name, c.cab_date, d.dep_id FROM cab c INNER JOIN cab_dep_to_cab d ON c.id = d.cab_id INNER JOIN cab_dep cd ON d.dep_id like ('%' || cd.id || '%') )
PIVOT (SUM(dep_id) FOR c.cab_date IN (&str_in_statement));
Возвращает ошибку: ORA-01748 «здесь разрешены только простые имена столбцов»
Может кто-нибудь увидеть мою ошибку?: O
кстати.Я хочу такой результат:
кстати.я пытался использовать код здесь: Динамический поворот в оракуле sql