当前位置: 首页 > 知识库问答 >
问题:

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

壤驷承
2023-03-14

有人能帮我找出为什么这段代码返回一个SQLOracle ORA-00904:无效的索引符错误吗?查询在没有Country='阿根廷'的情况下有效,但我需要按此值向下过滤。有人能给我指出正确的方向吗?

select llattrdata.ID dataid,

max(case when llattrdata.ATTRID = 4 then llattrdata.VALSTR end) Country

from llattrdata, dtree 

where
llattrdata.DEFID = 19400074 and
llattrdata.VERNUM = dtree.VERSIONNUM and
llattrdata.ID = dtree.DATAID and 
Country = 'Argentina'
group by llattrdata.ID

共有2个答案

亢琦
2023-03-14

也许我错过了一些东西,但这与以下情况不同吗:

select distinct
  llattrdata.ID     dataid,
  llattrdata.VALSTR Country
from
  llattrdata,
  dtree 
where
  llattrdata.VERNUM        = dtree.VERSIONNUM and
  llattrdata.ID            = dtree.DATAID     and 
  llattrdata.DEFID         = 19400074         and
  llattrdata.ATTRID        = 4                and
  llattrdata.VALSTRCountry = 'Argentina'
经清野
2023-03-14

根据分组条件进行筛选时,需要使用< code>having而不是< code>where。

应该是这样的:

select llattrdata.ID dataid,
        max(case when llattrdata.ATTRID = 4 then llattrdata.VALSTR end) Country
  from llattrdata, dtree 
 where llattrdata.DEFID = 19400074 
   and llattrdata.VERNUM = dtree.VERSIONNUM 
   and llattrdata.ID = dtree.DATAID 
 group by llattrdata.ID
having max(case when llattrdata.ATTRID = 4 then llattrdata.VALSTR end) = 'Argentina'
 类似资料:
  • Oracle 11g Express Edition..创建表时出错 ORA-00904:无效标识符

  • 我已经在虚拟XP中安装了Oracle 10g,并使用 并且成功地创建了表。但是当我试图通过简单的查询获取值时,如 我得到的错误就像 ORA-00904:"bbb":无效标识符 我不能理解我在这里做错了什么。

  • 创建此表后,我正在尝试添加外键 我想使用Alter table创建的外键是Sailnumber: ALTER表成员添加外键(sailnumber)引用船(sailnumber) sailnumber是table boat的主键,如下所示 然而,我得到了这个错误SQL错误: ORA-00904:"SAILNUMBER":无效的标识符,我不知道为什么我得到有人能告诉我哪里出错了吗?

  • 我正在尝试使用此查询创建一个表(customer)到数据库, 我得到以下回复: 错误报告-SQL错误:ORA-00904::标识符00904无效。00000-%s:无效标识符

  • 问题内容: 我尝试使用Oracle数据库编写以下内部联接查询: 这给出了以下错误: 一个表的DDL为: 问题答案: 您的问题是那些有害的双引号。 Oracle SQL允许我们忽略数据库对象名称的大小写,只要我们创建它们时都使用大写的名称,或者不使用双引号即可。如果我们在脚本中使用大小写混合或小写并且将标识符括在双引号中,则当我们引用对象或其属性时,我们都被要求使用双引号和精确的大小写: tl; d

  • ORA-00904:“strdef”:无效标识符 > Oracle数据库版本为: Oracle Database 11g Enterprise Edition版本11.2.0.4.0-64位Production PL/SQL版本11.2.0.4.0-Production“Core 11.2.0.4.0 Production”TNS for Linux:版本11.2.0.4.0-Production