如图:
表seven:
sid  name  sddress
1   hua   kkk
2   guan   ddd
3   hh   lll 
4   kkk   yyy
~~~~~~~
表three:
tid  name  sdd 
1   hua
3   hh
4   kkk
~~~~~~~~~~~~~~~~~~~~~`
怎么用sql语句把tid=sid的sddree值考到表three的字段sdd里?也就是three表最后的结果为:
表three:
tid  name  sdd 
1   hua    kkk
3   hh   111
4   kkk   yyy

解决方案 »

  1.   


    update three
    set sdd=seven.sddress
    from seven
    where three.sid=seven.tid
      

  2.   

    update a set a.sdd=b.sddress from seven b join three a on b.tid=a.sid
      

  3.   

    set nocount on
    declare @seven table(sid int,  name varchar(10),  sddress varchar(10)) 
    insert @seven select 1,  'hua' , 'kkk' 
    insert @seven select 2,  'guan',  'ddd' 
    insert @seven select 3,  'hh'  ,'lll' 
    insert @seven select 4,  'kkk' , 'yyy' 
    declare @three table(tid int,  name varchar(10)  ,sdd varchar(10)) 
    insert @three select 1  ,'hua',null 
    insert @three select 3  ,'hh' ,null
    insert @three select 4  ,'kkk',null
    update t set sdd=s.sddress from @seven s inner join @three t on s.sid=t.tid
    select * from @three 
    /*tid         name       sdd        
    ----------- ---------- ---------- 
    1           hua        kkk
    3           hh         lll
    4           kkk        yyy
    */