34,588
社区成员
发帖
与我相关
我的任务
分享
update 库存表
set 库存处理=库存处理-b.数量
from 库存表 a join (select 产品ID,sum(数量) 数量 from 进货明细表 where id in (1,3,5) group by 产品ID )b on a.产品ID=b.产品ID
create table [库存表](ID int, 产品ID int , 库存处理 int )
insert into [库存表] values
(1, 2, 20),(2, 3, 15),(3, 4, 30),(4, 5, 200)
go
create table [进货明细表](ID int, 产品ID int, 数量 int)
insert into [进货明细表] values
(1, 2, 10),(2, 2, 10),(3, 3, 15),(4, 4, 15),(5, 4, 15)
go
print '计算前:'
select * from [库存表]
go
update A set A.库存处理 = A.库存处理 - B.数量
from [库存表] A , (select 产品ID , sum(数量) 数量 from [进货明细表] group by 产品ID) B
where A.产品ID = B.产品ID
go
print '计算后:'
select * from [库存表]
go
drop table [库存表] , [进货明细表]
go
计算前:
ID 产品ID 库存处理
----------- ----------- -----------
1 2 20
2 3 15
3 4 30
4 5 200
(4 行受影响)
(3 行受影响)
计算后:
ID 产品ID 库存处理
----------- ----------- -----------
1 2 0
2 3 0
3 4 0
4 5 200
(4 行受影响)