A |
| B | ||
ID | Sum |
| ID | Amount |
1 |
|
| 1 | 100 |
2 |
|
| 1 | 200 |
3 |
|
| 1 | 320 |
4 |
|
| 2 | 230 |
5 |
|
| 4 | 246 |
6 |
|
| 4 | 212 |
表A和表B是用ID来关联的。ID是A的主键,B的外键,请把B中的Amount按ID累加起来,然后放到A的Sum字段里。
解决:
update a set a.sum=(
select sum(b.amount) from b where b.id=a.id group by b.id
);
总结:用b表的id分组,求出每组的sum然后再通过子查询更a表的sum字段