灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3074回复:0

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

楼主#
更多 发布于:2013-06-17 11:14
UPDATE语句:将一个表里的字段更新到另一个表的字段里的语句
 
在一次成绩查询系统的修改中,改动了一张表,在一张表里增加了一个字段,现在需要将另外一个表的对应ID复制过来,由于不经常使用这样的SQL操作,甚至想到了写个循环来处理。但是我又觉得SQL应该可以实现这样的功能,就查了查手册,果然简单,有个update ... from ... 的语法。例子如下:
 
表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语句如下:
 
1
UPDATEASETA.subject_id=B.sb_idFROMBWHEREB.student_id=A.id
更新:上面一条语句只适合在mssql server下面用,在mysql里应该用下面一条:
 
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测试了下,测试通过。

喜欢0 评分0
游客

返回顶部