无效的标识符 SQL ORA-00904
Posted
技术标签:
【中文标题】无效的标识符 SQL ORA-00904【英文标题】:Invalid Identifier SQL ORA-00904 【发布时间】:2018-12-05 03:22:35 【问题描述】:您好,我正在尝试执行我创建的查询以计算国家/地区 ID,但是我在 Group BY 行 4 上收到 ORA-00904 错误,我的 OEHR_LOCATIONS.REGION_ID。
SELECT OEHR_COUNTRIES.COUNTRY_ID, REGION_ID, COUNT (OEHR_COUNTRIES.COUNTRY_ID)
FROM OEHR_COUNTRIES, OEHR_LOCATIONS
WHERE OEHR_COUNTRIES.COUNTRY_ID = OEHR_LOCATIONS.COUNTRY_ID
GROUP BY OEHR_COUNTRIES.COUNTRY_ID, OEHR_LOCATIONS.REGION_ID
【问题讨论】:
【参考方案1】:我无法说明可能导致您的错误的原因,但我鼓励您将查询写成这样:
SELECT c.COUNTRY_ID, l.REGION_ID, COUNT(*)
FROM OEHR_COUNTRIES c JOIN
OEHR_LOCATIONS l
ON c.COUNTRY_ID = l.COUNTRY_ID
GROUP BY c.COUNTRY_ID, l.REGION_ID;
注意事项:
从不在FROM
子句中使用逗号。 始终使用正确、明确、标准 JOIN
语法。
表格别名使表格更易于书写和阅读。
无需计算从不为NULL
的列。这就是COUNT(*)
所做的。
【讨论】:
嗨,戈登,感谢您的输入,我已重做查询,但是在 GROUP BY 行的同一行代码中,我仍然收到相同的无效标识符错误。 想必,OEHR_LOCATIONS
中没有名为REGION_ID
的列。
有并且我已经确定,我已经仔细检查了我正在查询的数据库,它在那里我只能认为它与查询抛出错误有关。
没关系,我在语法上发现了一个问题,感谢您的输入!以上是关于无效的标识符 SQL ORA-00904的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLSyntaxErrorException: ORA-00904: : 标识符无效