0

次のクエリがあります。

各オプションで利用可能な色の数について、在庫表でさまざまなアイテムを識別するリストを作成します

しかし、次のようなエラーが表示されます。

コマンド ラインのエラー: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;
4

1 に答える 1

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サブクエリでテーブルを再度ヒットする理由はないようです。

于 2012-11-28T17:29:45.927 に答える