SQL Developer:标识符无效错误
Posted
技术标签:
【中文标题】SQL Developer:标识符无效错误【英文标题】:SQL Developer: invalid identifier error 【发布时间】:2015-07-31 18:47:23 【问题描述】:这是我的查询中有错误的部分:
, case when dsi.distributor_id in
('ALBQA','ASGLA','ASGNY','ASGR1','ASGSF','BIKU9','COAUU','CSWHP','DPIB1','DPID9',
'DPISP','DPISQ','EAS3X','GEP79','GRG8V','NACY7','NOSYK','ORGK7','PETR1','TOP0U',
'UNFIA','UNFIL','UNFIQ','UNFIS','UNMQ9','KOSI8','KEHEN','CSNYC','ALBQA','ALC6Y','BAM7D','BIKU9','CLCE0','COAUU','CSWHT','EAS3X','FOUXU','GEP79',
'GRG8V','HED9Q','LAOJD','MCLFS','NOSYK','ORGK7','UNMQ9','OMAH1'
)
then 'Distributor'
else 'Direct'
end as is_direct
, SUM(dsi.cost) AS tot_cost
, SUM(CASE WHEN is_direct = 'Direct' THEN dsi.cost ELSE 0 END ) AS Direct_cost
它说is_direct
是一个无效的列,但我已经在上面指出了它。因此,我想知道您是否可以帮我找出我哪里出错了。
【问题讨论】:
【参考方案1】:查询中定义的列不能在查询的其他地方使用,无论是在其他列中,还是在WHERE
子句等中。
我建议将这些计算放入子查询中,或者使用WITH AS
。
【讨论】:
以上是关于SQL Developer:标识符无效错误的主要内容,如果未能解决你的问题,请参考以下文章
错误报告:SQL 错误:ORA-00904::无效标识符 00904。00000 - “%s:无效标识符”
SQL 错误:ORA-00904:“GENDER”:无效标识符 00904。00000 -“%s:无效标识符”