SQL sum语句invaild标识符

时间:2016-03-13 16:49:59

标签: sql oracle

我正在尝试使用查询

更新每个订单中的总数量列
assigned

Oracle显示此错误:

  

SQL错误:ORA-00904:" L_QUANTITY":无效的标识符
  00904. 00000 - "%s:无效的标识符"

1 个答案:

答案 0 :(得分:0)

要执行您描述的操作,您只需要一个相关的子查询:

update orders o
    set total_items = (SELECT SUM(L_Quantity)
                       FROM LINEITEM L
                       WHERE O.O_ORDERKEY = L.L_orderkey AND L.L_orderkey > 1 
                      );

我不确定L.L_Orderkey上应该做的条件是什么。

您的特定问题是因为最里面的子查询没有名为L_QUANTITY的列(总和称为TOTAL)。但是,如果你修复了它,你就会遇到其他问题,例如标量子查询返回太多行。