日期:2014-05-17  浏览次数:20427 次

批量更新数据
A表(销售表)

id 合同号 项目号
1   aa     11
2   bb     22
3   cc     33

B表(发货表)

id 合同号 项目号
1   aa
2   aa
3   bb
4   aa
5   bb 

如何把A表的项目号更新给B表

结果得到

B表
id 合同号 项目号
1   aa     11
2   aa     11
3   bb     22
4   aa     11
5   bb     22


------解决方案--------------------
是这样吗:

--drop table a,b

create table A(id int, 合同号 varchar(10), 项目号 varchar(10))

insert into A
select 1   ,'aa'     ,'11' union all
select 2   ,'bb'     ,'22' union all
select 3   ,'cc'     ,'33'

create table B(id int, 合同号 varchar(10), 项目号 varchar(10))

insert into B(id,合同号)
select 1   ,'aa' union all
select 2   ,'aa' union all
select 3   ,'bb' union all
select 4   ,'aa' union all
select 5   ,'bb'
go
 
--更新 
update B
set 项目号 = a.项目号
from B
inner join A
        on a.合同号 = b.合同号


select * from B
/*
id 合同号 项目号
1 aa 11
2 aa 11
3 bb 22
4 aa 11
5 bb 22
*/