你这个交换同一个表中的数据,有两种方法:1,需要借助一个中间变量然后通过游标实现或者; 2 借助临时用表实现;
以下暂只介绍第二种方法,第一种自己思考
假设出勤表名称为OnDuty
1,第一步将7月15日数据转移到临时表OnDuty20140715
select * into OnDuty20140715 where DutyDate = '2014-07-15'
2,第二步将7月15日出勤时间替换为7月14号的出勤时间
update A set A.出勤时间=B.出勤时间
from OnDuty A inner join OnDuty B on A.工号=B.工号 where A.日期=‘2014-07-15' and B.日期='2014-07-14'
3,第三步将7月14号出勤时间替换为7月15号的出勤时间
update A Set A.出勤时间=B.出勤时间
from OnDuty A inner join OnDuty20140715 B on A.工号=B.工号 where A.日期='2014-07-14'
4,第四步drop临时用表
drop table OnDuty20140715