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,对不起,我弄糊涂了。