我有一种方案,客户每周(周一到周日)每天下订单。但是,仓库不会在周六/周日执行订单。我有一面旗帜,告诉我一天是不是工作日(= 1)或不是(= 0)。我还有每天下的订单。现在,仓库希望在周一之前查看汇总的周末价值。这是原始选择的摘录(结果是来自事实表的cte-aggregate):T-SQL:根据字段值将数据移动到下一行
day weekday qty
01.12.2016 1 4551
02.12.2016 1 4283
03.12.2016 0 3925
04.12.2016 0 4918
05.12.2016 1 4905
06.12.2016 1 4831
07.12.2016 1 10920
08.12.2016 1 2603
09.12.2016 1 2578
10.12.2016 0 2314
11.12.2016 0 2932
12.12.2016 1 3491
关于5.12。我希望T-SQL事先做以下计算:
- 03.12 .: weekday = 0 - >将3925移动到下一行并将其添加到值04.12。制作03.12。 qty = 0
- 04.12 .: weekday = 0 - >将(3925 + 4918 = 8843)移动到下一行并将其添加到值05.12。 04.12。数量= 0
- 05.12:平日= 1 - >没有移动到第二天,但只是 “收集” 的前几天的数量:数量= 8843 + 4905 = 13748
结果是这样的:
day weekday qty
01.12.2016 1 4551
02.12.2016 1 4283
03.12.2016 0 0
04.12.2016 0 0
05.12.2016 1 13748
06.12.2016 1 4831
限制:我对该数据库没有写数据权限,因此没有临时表是可能的。
什么是sql-server的版本? – Viki888
安装了版本11.0.6544.0 – rasenkantenstein
此外,我被授予使用临时表的权利。 – rasenkantenstein