您的位置:首页 > 数据库

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

2016-01-12 09:39 288 查看
表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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: