日期:2014-05-18  浏览次数:20506 次

同一个表如何复制某字段到另一行记录
同一个表中,比如两条记录 的时间分别是 
行 时间字段
A行 “2012-06-11”
B行 “2012-06-16”

如何将 A行的时间 复制填充到 B行,使得B行的记录变为 

B行 “2012-06-11”

------解决方案--------------------
我就事论事地回答你这个例子,但是数据不同的时候做法也可能不一样:
方法有很多种,比如CTE、自连接、临时表等等,我给个自连接的你看看,但是不保证满足你的所有情况:
SQL code

use tempdb
go 

create table test
(
id    char(2),
name char(10))
go

insert into test 
values('a','123'),('b','456')
select * from test


update A
set A.name=B.name
from test A left join test B on A.id<>B.id
where A.id='b' and B.id='a'

select * from test