簡體   English   中英

來自同一個表的 SUM 的 SQL 更新值

[英]SQL update value with SUM from same table

我有桌頭。 有 ep、order_number、ont 列。 我需要每個記錄集都作為 SUM ep 並具有相同的 order_number 值。

我嘗試過這個:

UPDATE leads as l1 SET ont = (SELECT SUM(ep) FROM leads as l2  WHERE l2.order_number= l1.order_number);

有錯誤:表 'l1' 被指定兩次,既作為 'UPDATE' 的目標,也作為單獨的數據源

我該如何解決這個問題? 謝謝!

使用多表更新版本

drop table if exists t;
create table t(ont int,op int,order_number int);
insert into t values (1,10,1),(1,2,1);

update t 
join (select order_number,sum(op) sumop from t group by order_number) t1 on t1.order_number = t.order_number
set ont = sumop;

select * from t;

+------+------+--------------+
| ont  | op   | order_number |
+------+------+--------------+
|   12 |   10 |            1 |
|   12 |    2 |            1 |
+------+------+--------------+
2 rows in set (0.00 sec)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM