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

急等一SQL语句
第一个表中字段,ID,PHONE
第2个表中字段,province,city,phone_prev7
比如第一个表中的电话为13341184512
第2个表中的phone_prev7为1334118
根据7位手机号码匹配,把相关的province,city写到第一个表里面  


------解决方案--------------------
update 表1
set province =表2.province,
city=表2.city
from 表1,表2
where left(表1.PHONE,7)=表2.phone_prev7
------解决方案--------------------
楼主的是这个意思吧:


create table #T1(
ID int,
PHONE varchar(50),
province varchar(50),
city varchar(50)
)

create table #T2(
province varchar(50),
city varchar(50),
phone_prev7 varchar(50)
)

insert into #T1
select 1, '13341184512 ', ' ', ' '

insert into #T2
select 'AA ', 'BB ', '1334118 '

select * from #T1

select * from #T2

update #T1
set province = #T2.province,city = #T2.city
from #T1 join #T2 on left(#T1.PHONE,7)=#T2.phone_prev7


--下面的update也可以实现
/*
update #T1
set province = #T2.province,city = #T2.city
from #T1,#T2 where left(#T1.PHONE,7)=#T2.phone_prev7
*/

select * from #T1

drop table #T1
drop table #T2

----------------------------------------------------
楼主的表一应该也包含表二的部分字段才是啊。