我正在尝试使用查询更新每个订单中的总数量列
update orders
set total_items = (SELECT L_QUANTITY AS "TOTAL"
FROM
(SELECT o_orderkey, SUM(L_Quantity) AS "TOTAL"
FROM LINEITEM L
JOIN ORDERS O ON O.O_ORDERKEY = L.L_orderkey
WHERE L.L_orderkey > 1
GROUP BY o_orderkey));
Oracle显示此错误:
SQL错误:ORA-00904:“L_QUANTITY”:无效标识符00904. 00000 - “%s:无效标识符”
1 回答
要执行您描述的操作,您只需要一个相关的子查询:
我不确定
L.L_Orderkey
的条件应该是什么 .您的特定问题是因为最里面的子查询没有名为
L_QUANTITY
的列(总和称为TOTAL
) . 但是,如果你修复了它,你就会遇到其他问题,例如标量子查询返回太多行 .