update 表1
set province =表2.province,
city=表2.city
from 表1,表2
where left(表1.PHONE,7)=表2.phone_prev7

解决方案 »

  1.   

    这样不行
    现在表1里面没有province 和 city 的字段
      

  2.   

    "把相关的province,city写到第一个表里面"
    --------------------------
    第一个表里只有id,phone吗?
    那把province,city写到第一个表里,具体写得写个字段啊?
    楼主没说清楚.
      

  3.   

    楼主的是这个意思吧:
    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 #T1select * from #T2update #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 #T1drop table #T1
    drop table #T2----------------------------------------------------
    楼主的表一应该也包含表二的部分字段才是啊。
      

  4.   

    我就是说update语句不正确
    你试试!
      

  5.   

    如果表一中没有province,city这两列,那肯定错.
    请把你的意思描述清楚.