SQL sum语句INAILD标识符

SQL sum语句INAILD标识符,sql,oracle,Sql,Oracle,我正在尝试使用查询更新每个订单中的总数量列 update orders set total_items = (SELECT L_QUANTITY AS "TOTAL" FROM (SELECT o_orderkey, SUM(L_Quantity) AS "TOTAL" FROM LINEITEM L JOI

我正在尝试使用查询更新每个订单中的总数量列

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_数量”:无效标识符
90400000-%s:无效标识符


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

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\u Orderkey
上的条件应该是什么


您的特殊问题是因为最里面的子查询没有名为
L\u QUANTITY
的列(总和称为
TOTAL
)。但是,如果您解决了这个问题,您只会遇到其他问题,例如标量子查询返回的行太多。

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

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\u Orderkey
上的条件应该是什么


您的特殊问题是因为最里面的子查询没有名为
L\u QUANTITY
的列(总和称为
TOTAL
)。但是,如果您解决了这个问题,您只会遇到其他问题,例如标量子查询返回的行太多。

您使用的是MySQL还是Oracle?请适当地标记您的问题。或者调用sql,对不起,我弄错了。您使用的是MySQL还是Oracle?请适当地标记您的问题。或调用sql,对不起,我弄糊涂了。