IF NOT OBJECT_ID('[tb]') IS NULL DROP TABLE [tb] GO CREATE TABLE [tb]([药品货号] NVARCHAR(10),[药品名称] NVARCHAR(10),[库存数量] INT,[批号] NVARCHAR(10)) INSERT [tb] SELECT '000001',N'青霉素',2,'01' UNION ALL SELECT '000001',N'青霉素',3,'02' UNION ALL SELECT '000001',N'青霉素',5,'03' UNION ALL SELECT '000001',N'青霉素',4,'04' UNION ALL SELECT '000001',N'青霉素',6,'05' GO select [药品货号],[药品名称],[库存数量],[批号],identity(int,1,1) ID into # from [tb] select * from # declare @Put int set @Put=12 select [药品货号],[药品名称], case when (select sum([库存数量]) from # where [药品名称]=aa.[药品名称] and ID<=aa.ID)<@put then 0 else (select sum([库存数量]) from # where [药品名称]=aa.[药品名称] and ID<=aa.ID)-@put end as '[库存数量]' from # aa 药品货号 药品名称 [库存数量] ---------- ---------- ----------- 000001 青霉素 0 000001 青霉素 0 000001 青霉素 0 000001 青霉素 2 000001 青霉素 8
先进先出
最新推荐文章于 2021-12-05 21:06:35 发布
本文介绍了一个基于SQL的药品库存查询及调整案例。通过创建药品库存表并插入数据,然后使用SQL语句对特定条件下的库存数量进行计算和调整。具体展示了如何通过累积库存量与预设数值对比来确定最终的库存数量。
1155

被折叠的 条评论
为什么被折叠?



