UPDATE语句:将一个表里的字段更新到另外一个表的字段里的语句

在一次成绩查询系统的修改中,改动了一张表,在一张表里增长了一个字段,如今须要将另一个表的对应ID复制过来,因为不常用这样的SQL操做,甚至想到了写个循环来处理。可是我又以为SQL应该能够实现这样的功能,就查了查手册,果真简单,有个update ... from ... 的语法。例子以下: html

表A
id subject_id
1 null
2 null
3 null
4 null
5 null
6 null

表B
sb_id st_id
5 1
2 2
5 3
5 4
2 5
2 6

SQL语句以下: mysql

?
1
UPDATEASETA.subject_id=B.sb_idFROMBWHEREB.student_id=A.id

更新:上面一条语句只适合在mssql server下面用,在mysql里应该用下面一条: sql

?
1
UPDATEA, BSETA.subject_id=B.sb_idWHEREB.student_id=A.id
 
 
 
 
例子2:
 
MYSQL是这个
update table2 b,(select b.area_id as arid,sum(a.user_amount) as bcount
from table1 a,table2 b
where a.user_area=b.area_id
group by arid) c
set b.count=c.bcount
where b.area_id=c.arid;

还专门装了个MYSQL测试了下,测试经过。
相关文章
相关标签/搜索