【发布时间】:2018-10-11 13:01:37
【问题描述】:
我有一个简单的查询来返回计划文件中尚未结束的所有行。
SELECT [Run_ID]
,[ProductionLineID]
,[RecipeNR]
,[RecipeDesc]
,[StartTimeBakery]
,[EndTimeBakery]
,[ItemID]
,[ItemDesc]
,[Boxes]
,[Products_In_Box]
,[Products]
,[Pallets]
,[Boxes_On_Pallet]
,[AUD_Timestamp]
FROM [PP_Planning].[dbo].[Planning]
Where endTimeBakery > GETDATE()
order by ProductionLineID, StartTimeBakery
简化样本结果:
StartTimeBakery EndTimeBakery Pallets
2018-10-12 03:00:00.000 2018-10-12 21:41:00.000 135
2018-10-12 22:00:00.000 2018-10-13 22:13:00.000 300
2018-10-13 23:59:00.000 2018-10-15 05:23:00.000 315
我正在寻找的是当 starttime-endtime 跨越一天以上时的自动拆分。
想要的输出:
StartTimeBakery EndTimeBakery Pallets
2018-10-12 03:00:00.000 2018-10-12 21:41:00.000 135,00
2018-10-12 22:00:00.000 2018-10-12 23:59:59.999 24,77
2018-10-13 00:00:00.000 2018-10-13 22:13:00.000 275,22
2018-10-13 23:59:00.000 2018-10-13 23:59:59.999 0,18
2018-10-14 00:00:00.000 2018-10-14 23:59:59.999 257,14
2018-10-15 00:00:00.000 2018-10-15 05:23:00.000 57,68
推理/逻辑 我希望能够显示每天生产(计划)的托盘数量。在上面想要的结果中,我取了原来的总量,然后除以开始和停止之间使用的时间,然后用它来分配每天计划的时间。
我不知道从哪里开始“拆分”这个。因此,我们将不胜感激。
【问题讨论】:
-
“拆分”是否仅限于两天以上?
-
只要是多天,(2到x)
标签: sql sql-server split