sqlserver中用不重复的条件更新两个表对应字段字段。

来源:互联网 发布:js获取unix时间戳 编辑:程序博客网 时间:2024/06/08 19:14

表T1和表T2,表T2的F23字段用表T1的F3字段更新,条件是T1.F2=T2.F22并且只有T1.F2和T2.F22是一一对应,T1只有一条记录和T2对应,例子如下:


create table t1(f1 int,f2 varchar(10),f3 varchar(10));

create table t2(f21 int,f22 varchar(10),f23 varchar(10));


insert into t1 values(1,'111','abc');
insert into t1 values(2,'111','abc');
insert into t1 values(3,'222','ddd');


insert into t2 values(1,'111',null);
insert into t2 values(2,'222',null);


update t2 set t2.f23 = t1.f3
from t1,t2
where t1.f2=t2.f22 and exists(select t3.f2,COUNT(*) from t1 as t3 where t3.f2=t1.f2 group by t3.f2 having COUNT(*) =1 );


select * from t1;
select * from t2;
0 0
原创粉丝点击