【发布时间】:2014-08-25 00:38:29
【问题描述】:
有没有一种简单的方法可以将一行的值拆分为多行?例如,假设我有下表
商品 日期 数量 类型
2001 7/1/2014 5000 5
2001 7/6/2014 1000 1
2002 7/20/2014 3000 1
2003 7/1/2014 2000 5
2004 8/3/2014 4000 4
我要做的是获取类型 4 或 5 的那些项目,获取它们的数量,将所述数量除以类型(例如,5000/5)并在接下来的 n 周内平均分配结果,取决于类型(即,类型 5 为 5 周,类型 4 为 4 周)。最后,将拆分结果添加到该周的任何其他结果中。
例如,我们在 7 月份有 6000 个项目 2001。每周将有 1000 个数量的 2001 项,除了从 7/6 开始的那一周,将有 2000 个。
这是我正在寻找的输出
输出看起来像这样
项目 日期 数量
2001 7/1/2014 1000
2001 7/6/2014 2000 (1000 来自上表中的拆分和 1000 来自上表中的类型 1)
2001 7/13/2014 1000
2001 7/20/2014 1000
2001 7/27/2014 1000
我不确定是否要雇用。我怀疑带有循环的子查询将是一个开始。
【问题讨论】:
-
你有什么尝试吗?向我们展示您的代码。您能否还添加表格外观的输出?
-
应该可以使用分析函数和窗口集以及运行总计和简单数学。
-
为什么要存储过程?
-
@xQbert,我对窗口集不太熟悉。我会研究它们,看看如何实现它们
-
@a_horse_with_no_name,其他的方案我不熟悉,xQbert提出了其中一种方案