佛山到长沙汽车票:请教一个SQL 语句的写法!

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 03:21:09
将下表中,第2学期的的学生的成绩,更新为第1学期的成绩?

序号 姓名 学期 成绩
1 a 1 80
2 b 1 70
3 c 1 75
4 a 2 72
5 b 2 71
6 c 2 73
这个语句怎么写?
更新后的结果可以达到如下的效果:
就是a,b,c的第2学期的成绩和第1学期的成绩一样。。。
我这个是个例子,我现在在做HR软件数据库的维护 ,会碰到这样的问题,比如将数据库中的 2006年08月的每个员工的某些工资项目(比如岗位工资)的数据更新为2006年07月的工资项目(岗位工资)。

update table1 set table1.成绩 = (select t.成绩 from table1 t where t.姓名= table1.姓名 and t.学期='1') where table1.学期='2'

是不是把2改为1,还是要把成绩也改掉,
update 表名 set 学期=1 where 学期=1

哦 意思是把学期等于2的成绩都改成和1一样
然后拿姓名做改变是吧

应该是不能实现吧 因为每次的姓名与编号都是不一样的
所以不可能在一句里改所有的值