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:无效标识符”

为啥我不断收到这个受诅咒的 SQL*Plus 无效标识符错误?

谁能告诉我为啥会收到 SQL*PLUS 无效标识符错误?

SQL 错误 ORA-00904:标识符无效

Sql 错误 00904. 00000 - “%s: 无效标识符”