我有一个使用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语句中特别提到列名时,为什么会抛出错误?