使用表别名时Oracle无效标识符

时间:2015-08-24 19:17:39

标签: sql oracle

我有一个使用with语句创建两个别名表的查询:

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表中的

&#34; Mon&#34;只是派生月份列。所以在最后的查询中,我想要做的就是选择一个不同月份名称的列表,但它给出了一个错误,说明&#34; Mon是一个无效的标识符。&#34;最终,我希望能够在数据透视表中使用它来创建月份名称中的列。但任何使用&#34; Mon&#34;的查询作为列引发错误。但是当我使用Select * from Mon_pv&#34; Mon&#34;显示为一列。当我在最终的Select语句中特别提到列名时,为什么会抛出错误?

0 个答案:

没有答案