У меня есть запрос, который создает две таблицы, используя псевдонимы с заявлениями:Oracle неверный идентификатор при использовании таблицы псевдонимов
WITH Rev AS
(SELECT *
FROM FORECAST.REVENUE_SUMMARY
WHERE FORECAST.REVENUE_SUMMARY.FEE_CD_ACT_SUM_ACCTG_DA >= to_date('10/01/2013', 'mm/dd/yyyy')
AND FORECAST.REVENUE_SUMMARY.FEE_CD_ACT_SUM_ACCTG_DA < to_date('10/01/2014', 'mm/dd/yyyy')
),
Mon_pv as
(select to_char(FEE_CD_ACT_SUM_ACCTG_DA, 'MON') as "Mon",
Fee_CD,
Fee_NM,
SUM(CASH_DAILY_CL) as "Collections"
from Rev
group by to_char(FEE_CD_ACT_SUM_ACCTG_DA, 'MON'),
Fee_CD,
Fee_NM
)
select distinct Mon
from Mon_pv
;
в Mon_pv таблице «ПН» является только производный месяц колонка. поэтому в последнем запросе все, что я хочу сделать, - это выбрать список имен разных месяцев, но он дает мне сообщение о том, что «Mon - недопустимый идентификатор». В конечном итоге я хочу иметь возможность использовать его в сводной таблице для создания столбцов из имен месяцев. Но любой запрос с использованием «Mon» в качестве столбца выдает ошибку. Но когда я использую Select * from Mon_pv, «Mon» появляется как столбец. Почему это вызывает ошибку, когда я упоминаю имя столбца конкретно в заключительной инструкции Select?
Вы пытались изменить псевдоним? –
Что делать, если вы также применяете двойные кавычки к '' Mon ''в последней части запроса? – GolezTrol
Нет, не пробовал. Но положил имя столбца в кавычки в последнем отборочном операторе. Мне даже даже не приходило в голову, что мне, возможно, придется это сделать. – user2907249