首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这样的sql更新语句如何写

2012-02-16 
这样的sql更新语句怎么写?有这样2个表,表A姓名班级成绩张三190张三280李四185王五388表B姓名年龄张三21李

这样的sql更新语句怎么写?
有这样2个表,表A 姓名 班级 成绩
  张三 1 90
  张三 2 80
  李四 1 85
  王五 3 88
  表B 姓名 年龄
  张三 21
  李宁 30
  王五 25
把表A中成绩字段的值更新成在表B中与表A中相同名字的年龄的值
结果:表A 姓名 班级 成绩
  张三 1 21
  张三 2 21
  李四 1 null
  王五 3 25

这个sql语句怎么写啊?

[解决办法]
什么数据库?
update tt from a tt left join b tt1 on tt.姓名=tt1.姓名 set tt.成绩=tt1.年龄
[解决办法]

SQL code
update a left join b on a. 姓名=b. 姓名 and a.班级=b.班级set a.成绩=b.年龄
[解决办法]
同意楼上!
[解决办法]
update a left join b on a.姓名=b.姓名 
set a.成绩=b.年龄

SQL code
mysql> select * from a;+------+------+------+| 姓名 | 班级 | 成绩 |+------+------+------+| 张三 |    1 |   90 || 张三 |    2 |   80 || 李四 |    1 |   85 || 王五 |    3 |   88 |+------+------+------+4 rows in set (0.00 sec)mysql> select * from b;+------+------+| 姓名 | 年龄 |+------+------+| 张三 |   21 || 李宁 |   30 || 王五 |   25 |+------+------+3 rows in set (0.00 sec)mysql> update a left join b on a.姓名=b.姓名    -> set a.成绩=b.年龄;Query OK, 4 rows affected (0.06 sec)Rows matched: 4  Changed: 4  Warnings: 0mysql> select * from a;+------+------+------+| 姓名 | 班级 | 成绩 |+------+------+------+| 张三 |    1 |   21 || 张三 |    2 |   21 || 李四 |    1 | NULL || 王五 |    3 |   25 |+------+------+------+4 rows in set (0.00 sec)mysql>
[解决办法]
厉害 ,看来要常来来了

热点排行