Oracle,无效标识符错误

Posted

技术标签:

【中文标题】Oracle,无效标识符错误【英文标题】:Oracle, invalid identifier error 【发布时间】:2012-11-28 17:25:59 【问题描述】:

我有这个查询应该:

创建一个标识库存中不同项目的列表 每个选项可用的颜色数量表

但我收到一条错误消息:

命令行错误:167 列:66 错误报告:SQL 错误: ORA-00904: "INV"."ITEM_ID": 标识符无效 00904. 00000 - "%s: 无效标识符"

SELECT inv.inv_id, 
item1.item_id, 
(SELECT COUNT(*) 
FROM (SELECT DISTINCT i.color FROM inventory i WHERE i.item_id = inv.item_id))
FROM inventory inv 
INNER JOIN item item1 
ON item1.item_id = inv.item_id
GROUP BY inv.inv_id, item1.item_id;

【问题讨论】:

我使用this tool 来解决您的问题。 【参考方案1】:

听起来你只是想要

SELECT inv.inv_id,
       item1.item_id,
       COUNT( distinct inv.color )
  FROM inventory inv
       JOIN item item1 ON (item1.item_id = inv.item_id)
 GROUP BY inv.inv_id, item1.item_id

似乎没有任何理由在子查询中再次访问inventory 表。

【讨论】:

以上是关于Oracle,无效标识符错误的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 无效标识符错误

oracle 忽略子查询中的无效标识符错误

奇怪的 Oracle SQL“无效标识符”错误

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

尝试创建表时 Oracle SQL “无效标识符错误”

我的一个 Oracle Apex 查询出现“无效标识符错误”