我们需要创建一个查询,我们将在接下来的几周内获得我们产品的可用库存。
我们有4种订单发票。
a)具有预计交货日期的供应商的订单
b)供应商的发票,这些发票正在从他们的订单转换而且还有一个日期
c)具有估计执行日期的客户的订单
d)具有日期
的客户的发票a,b将向我们的表格添加数量
c,d将从我们的表中删除数量
例如:
我们目前在第27周,我们知道在7月12日(第28周),我们将收到100件产品A.
然后客户已经预订了50个,执行日期为7月25日(第30周),所以我们有一个订单,应该会在第30周减少产品A的数量。
如果我们将在8月2日收到100多个,那么在第31周,该表应通过计算显示估计数量:
Week27 - 0 pcs
Week28 - 100 pcs (we will receive 100 pcs)
Week29 - 100 pcs (nothing was sold)
Week30 - 50 pcs (we will sell 50 pcs so the remaining quantity is 50)
Week31 - 150 pcs (we will receive 100 pcs so the remaining quantity will be 150)
答案 0 :(得分:0)
在任何仓库管理或ERP系统中,这是一个非常常见的要求,它们大多以类似的方式执行此操作:将每笔交易存储为正数或负数。然后对于每个日期,在该日期之前对每笔交易求和。
伪代码如下,显然适用于您的数据库模式:
Select
Week,
(Select
Sum(Quantity) from
Transactions
where date < Weeks.EndDate) as ClosingBalance
from Weeks
答案 1 :(得分:-1)
找到一个我认为可行的解决方案:
首先,我在名为z_531的数据库中创建了一个视图,其中我们收集了包含产品信息的所有nessecare行以及日期等。
然后我尝试在查询中进行累积求和:
`选择日期,产品,[数量A],[进口日期],[进口周导出],[进口年份],客户, (SELECT SUM([数量A])AS Expr1 来自dbo.z_531 AS b WHERE([Wekk of Import Export]&lt; = dbo.z_531。[导入导出周])和([Product] = dbo.z_531。[Product]))AS [库存量]
FROM dbo.z_531
ORDER BY [产品],[导入导出日期]`
添加我的总和Product = dbo.z_531。[产品]我每个产品和每周都有单独的总和。
尽管我认为这不是最快捷的方式!