例如:
表A:goodsId detail_id count
A 001 15
B 002 10
C 003 5
D 004 20表B: goodsId detail_id count
A 001 10
B 002 10
C 003 10
D 004 10用表根据表A的goodsId和detail_id更新表B的count,表B的count加上表A的count;
表A:goodsId detail_id count
A 001 15
B 002 10
C 003 5
D 004 20表B: goodsId detail_id count
A 001 10
B 002 10
C 003 10
D 004 10用表根据表A的goodsId和detail_id更新表B的count,表B的count加上表A的count;
update B
set [count]=b.count+a.count
from b ,a
where a.goodsId=b.goodsId and a.detail_id=b.detail_id
where a.goodsId=b.goodsId and a.detail_id=b.detail_id
b
set
[count]=b.[count]+a.[count]
from
表A a,表B b
where
a.goodsId=b.goodsId and a.detail_id=b.detail_id
on a.goodsId=c.goodsId and a.detail_id=c.detail_id
--create database A
--go
use A
go
if object_id('A') is null
create table a(a1 nvarchar(20),a2 nvarchar(20),num nvarchar(20),status nvarchar(20))
go
delete from a
insert into a values('xx','yy','3','P')
select * from a
go
--create database B
--go
use B
go
if object_id('B') is null
create table B(a1 nvarchar(20),a2 nvarchar(20),num nvarchar(20),status nvarchar(20))
go
delete from b
insert into B
select 'xx', 'yy', '1', 'S' union all select
'xx', 'yy', '2', 'Q' union all select
'xx', 'yy', '3', 'T'
go
select * from B
[code=SQL]
update B..b set B..b.status=A..a.status from A..a inner join B..b on A..a.a1 = B..b.a1 AND A..a.a2 = B..b.a2 And A..a.num=B..b.num[/code]