Oracle,无效的标识符错误

时间:2012-11-28 17:26:00

标签: oracle select oracle11g subquery

我有这个查询应该:

  

创建一个列表,用于标识广告资源中的不同商品   关于每个选项可用颜色数的表格

但是我收到一个错误说:

  

命令行错误: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;

1 个答案:

答案 0 :(得分:2)

听起来你只是想要

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表。