首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sqlserver减去库存和销售

如何使用sqlserver减去库存和销售
EN

Stack Overflow用户
提问于 2017-01-25 11:14:18
回答 1查看 2.2K关注 0票数 0

下面是递归表格式:

示例:

假设我有输入库存编号为500,数量(销售数量)为5,则剩余库存为495,在下一种情况下,当我出售其他输入库存项目时,必须为495,而不是500,如果数量为6,则为489。

如何使用sqlserver计算??以下是存储过程:

代码语言:javascript
复制
   select i.itemid,i.ItemName,i.EntryDate as 'Purchase Date',i.PurchaseRate as 'Purchase Amount',
 s.SaleDate,isnull(s.TotalPrice,0)as 'SalesAmount',sum(i.quantity)as 'Input Stock',s.Quantity,
 sum(i.quantity)-sum(ISNULL(s.quantity,0)) as 'Remaining Stock'
 from Inv_Medicine i
 left join Inv_Sales s on s.itemid=i.itemid
 group by i.itemid,i.ItemName,i.EntryDate,i.PurchaseRate,s.SaleDate,s.TotalPrice,s.Quantity

以上查询不包括working..any建议?

如何减去库存和销售??

我想替代500必须是495和495以后,如果数量是6个剩余库存,489..depends对数据(动态输入库存和数量数据)

下面是Inv_Medicine和Inv_Sale表格式和表: Inv_Medicine:

Inv_Medicine结构:

Inv_Sale:

Inv_Sale结构:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 13:18:35

马诺伊

代码语言:javascript
复制
DECLARE @date1 datetime='2017-01-25 04:48:03.830'
DECLARE @date2 datetime='2017-01-26 04:48:03.830'

 SELECT t1.*, CurrentStock = (isnull(t1.Quantity,0)-
  SUM(isnull(t2.salsesquantity,0)))+isnull(t1.salsesquantity,0),
  isnull(t1.salsesquantity,0)
  as SalesProductQunatity, RemainingStock = isnull(t1.Quantity,0)-
  SUM(isnull(t2.salsesquantity,0)) 

   FROM ( SELECT
  im.ItemName,im.PurchaseRate,Ins.SalesDate,ins.totalprice,ins.quantity
  as salsesquantity,im.Quantity , ROW_NUMBER()OVER( partition by
  Ins.itemId ORDER by ins.SalesDate) as ranknumbr  FROM 
  [dbo].[Inv_Medicine] IM LEFT JOIN [dbo].Inv_Sales Ins on
 IM.ItemId=Ins.ItemId ) t1

  INNER JOIN 
  ( SELECT
  im.ItemName,im.PurchaseRate,Ins.SalesDate,ins.totalprice,ins.quantity
 as salsesquantity,im.Quantity , ROW_NUMBER()OVER( partition by
 Ins.itemId ORDER by ins.SalesDate) as ranknumbr  FROM 
  [dbo].[Inv_Medicine] IM LEFT JOIN [dbo].Inv_Sales Ins on
  IM.ItemId=Ins.ItemId  ) as t2  



 ON t1.ranknumbr >= t2.ranknumbr AND t1.ItemName=t2.ItemName 
 WHERE t1.SalesDate BETWEEN @date1 AND @date2
 GROUP BY
  t1.ranknumbr,
 t1.SalesDate,t1.ItemName,t1.PurchaseRate,t1.totalprice,t1.salsesquantity,
 t1.Quantity,t2.    Quantity

   ORDER by t1.ItemName DESC

请检查我的答案,它会帮助你。如果你在什么地方逗留,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41850151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档