update tableB set userid=a.id from tableA a,tableB b where a.user=b.user

解决方案 »

  1.   

    declare @t table([id] varchar(10),[user] varchar(10),price int)
    insert into @t select '001' ,  '中国',    10
    union all select '002' ,  '美国',    11
    union all select '003' ,  '日本',    12declare @a table([id] varchar(10),[user] varchar(10),price int,pricedate varchar(10),userid varchar(10))
    insert into @a select '123' ,  '中国' ,   10   ,  '2006-1-1',   null
    union all select '124' ,  '中国'  , 15  ,   '2006-2-1' , null
    union all select '125' , '中国'  , 10  ,   '2006-1-1' ,  null
    union all select '126' ,  '中国'  , 11  ,   '2006-1-1' , null
    union all select '127' ,  '中国'  ,  10  ,   '2006-3-1' ,  null
    union all select '128' ,  '中国'  ,  10  ,   '2006-1-1' ,  null
    union all select '129' ,  '美国'  ,  15  ,   '2006-2-1' ,  null
    union all select '130' ,  '美国' ,   10  ,   '2006-1-1' ,  null
    union all select '131' ,  '美国' ,   11  ,   '2006-1-1' ,  null
    union all select '132' ,  '美国'  ,  10  ,  '2006-3-1'  , null
    union all select '133' ,  '美国' ,   10   ,  '2006-1-1' ,  null
    union all select '134' ,  '日本' ,   15   ,  '2006-2-1' ,  null
    union all select '135' ,  '日本' ,   10   ,  '2006-1-1' ,  null
    union all select '136' ,  '日本' ,   11   ,  '2006-1-1' ,  null
    union all select '137' ,  '日本' ,   10  ,   '2006-3-1' ,  null
    update b set b.userid=a.id from @t a,@a b where a.[user]=b.[user]select * from @a