2015-08-24 5 views
0

У меня есть запрос, который создает две таблицы, используя псевдонимы с заявлениями: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?

+1

Вы пытались изменить псевдоним? –

+1

Что делать, если вы также применяете двойные кавычки к '' Mon ''в последней части запроса? – GolezTrol

+0

Нет, не пробовал. Но положил имя столбца в кавычки в последнем отборочном операторе. Мне даже даже не приходило в голову, что мне, возможно, придется это сделать. – user2907249

ответ

0

Как уже упоминалось в комментариях: "Mon" и Mon - это не идентичный идентификатор. Когда вы помещаете идентификатор в двойные кавычки, он становится чувствительным к регистру (а также позволяет использовать более широкий набор символов). Если вы не используете двойные кавычки, имя автоматически преобразуется в верхний регистр. Таким образом, Mon, MON и mon все считаются MON, но "Mon" нет.

Смежные вопросы