SQL - 订单/交付操作

时间:2014-02-03 16:15:56

标签: sql teradata

在excel中想出这个 - 只需要将它转换为SQL - 我想在这里写这个以防万一有人看过这个并开始回复。

我目前正在寻找可以有多个订单和交货的一系列产品的未完成订单和未来预计交货。我有一张大桌子 - 见图像:

我没有名声,因此无法在此处粘贴图片,我无法使用空格绘制出来,

“数量”列中的正数表示来自优先区域的保留订单,该优先区域在未来任何订单进入时首先选择。类似地,负数表示交货(例如,如果我们查看产品A;

第1周 - 优先订单为60。

第2周 - 交付40个意味着40个按优先顺序分配给第1周(仍有20个未完成)。

第3周 - 新的优先订单生效20(与第2周的20个优先订单合并创建40)

第3周 - 在第3周的同一时间,订单进入50 - 这可以满足当前未完成的40请求剩余10剩余

第5周 - 新的优先顺序生效为20,剩余10个并创建未完成的订单10。

我一直在寻找一种方法,可以很好地了解优先订单的影响,从而可以看出估计数量和成本。即对于产品A

第1周 - 初始需求为60 - 可以忽略,因为没有提供

第2周 - 交付40件 - 费用为40件

第3周 - 交付40件 - 费用为40件

第5周 - 交付10件 - 费用为10件

我认为可能有一个简单的解决方案,但一直看着它现在我看不到树上的木头。我认为存在一个问题,即当一个足够大的订单进入并且有足够的数量来支付优先顺序但其余部分已被优先部门有效地“保留”并且需要“滚动”。 任何帮助或提示非常感谢

1 个答案:

答案 0 :(得分:0)

当我第一次阅读您的问题时,这听起来像是库存问题,但根据您的示例数据,它似乎是一个简单的累积总和(至少在第一部分):

SELECT
   product, week, quantity,
   SUM(quantity) 
   OVER (PARTITION BY product
         ORDER BY week
         ROWS UNBOUNDED PRECEDING) AS "cumulative quantity"
FROM tab

关于第二部分,我不满足你的期望结果,你能详细说明吗?