SQL:计算没有库存的一个月中的天数

时间:2014-11-04 13:51:27

标签: sql sql-server

我正在尝试创建一个查询,而不是计算某个特定库存项目不可用的天数(即:编号= 0)。

目前,我已经开发了一个查询,可以计算从今天库存不可用的日期开始的天数,但我想要实际计算的是,在一个月内,库存数量= 0天。即:1月 - 1月5日,1月7日和1月20日,项目A没有库存 - 这意味着缺货天数= 3。

额外详情:

目前,我的查询依据是确定最后一笔交易的股票水平(即:如果,在最后一笔交易中,股票的数量= 0),则计算交易日期与今天之间的天数。

Select [StockItems].StockCode, 

Case When SUM([StockItems].Qty_On_Hand)=0 Then (Datediff(day, GETDATE(),MAX([Transactions].TransactionDate))) ELSE 0 END AS 'Days Out of Stock', 

From dbo.[Transactions]

INNER JOIN [StockItems]
  ON [Transactions].[AccountLink] = [StockItems].[StockLink]

Where [StockItems].StockCode LIKE '%XXX%' 
AND [Transactions].TransactionDate>31/10/14

Group By [StockItems].StockCode

我的想法 有不同种类的交易 - 其中一种是收到良好的交易。也许有可能计算出库存数量为零的日期,然后发生交易,直到收到货物为止。

思想?

谢谢。

1 个答案:

答案 0 :(得分:0)

SELECT COUNT([StockItems].Qty_On_Hand 
From dbo.[Transactions]
INNER JOIN [StockItems] ON [Transactions].[AccountLink] = [StockItems].[StockLink]
WHERE [StockItems].Qty_On_Hand)=0