有下面两个表A B
问题:写一句sql语句,把表B的同一个Id的Score求和并填充到表A相应Id中的totalScore。
表A:
id | totalScore |
1 | |
2 | |
3 | |
4 |
id | score |
1 | 10 |
1 | 12 |
2 | 23 |
2 | 43 |
3 | 24 |
3 | 43 |
3 | 45 |
4 | 56 |
表B:
update a atable set totalscore = (select sum(score) from b btable where atable.id = btable.id);
如果是Oracle数据库的话那么语句就应该这样写:
insert into a (id,totalScore)select id,sum(score) from b group by id order by id
也就是 去掉一对括号和values就行了
这个方法也可以实现表的复制