MySQL更新表为每一行添加不同的数量

时间:2017-03-29 15:22:07

标签: mysql sql

MySQL表:

Key Total
 A   20
 B   15
 C   25
 D   30


我有这些数据:

Key Total
 A   5
 C   10
 D   10


我想更新表格:

添加每一行的总数。请注意,数据不完整,因此某些行(B)不会更新。所以结果应该是:

Key Total
 A   25
 B   15
 C   35
 D   40


我当前的计划正在运行update table set total = total + ? where key = ?。但是有更有效的方法吗?

1 个答案:

答案 0 :(得分:2)

如果第二组数据存储在表格中,那么它就会容易得多。

假设您的第一个表名为first_table,而您的第二个数据集存储在名为second_table的表中。

<强>查询:

UPDATE first_table AS FT
INNER JOIN second_table AS ST 
  ON FT.key = ST.key
SET FT.total = FT.total + ST.total;

SEE DEMO