SQL根据日期范围合并记录

时间:2020-07-23 16:40:19

标签: sql sql-server date merge date-range

我有一个数据集,该数据集表示几辆车的交货量,每辆车可以在不同的位置装货和卸货。我试图找出进行所有交付所需的车辆数量,同时将在+-x天内加载的所有行程分组/合并。例如:

  • 车辆V1可以在A区(X日期)和B区(X + 2日期)加载,并在C区和D区放电,因为它在2天内加载,因此算作1车/行程。
  • V1也可以简单地将A区(日期Y)到C区,这也算一次行程。

原始数据如下所示:

    Id  LoadArea    LoadDate    Vehicle Discharge Area  Qty
456559  Zone A      15/07/2019   V1     Zone Z          64
408481  Zone B      13/07/2019   V1     Zone X          70
365566  Zone A      12/07/2019   V1     Zone Y          26
244634  Zone C      12/07/2019   V2     Zone X          10
453409  Zone D      10/07/2019   V2     Zone Z          53
183776  Zone A      20/04/2019   V1     Zone Y          13
379698  Zone A      20/04/2019   V1     Zone Z          21
370324  Zone D      28/02/2019   V3     Zone W          39

这是我的目标:

LoadArea        LoadDate    Vehicle Qty
Zone A;Zone B   12/07/2019  V1          160
Zone C;ZoneD    10/07/2019  V2          63
Zone A;Zone B   20/04/2019  V1          34
Zone D          28/02/2019  V3          39

合并少于+-X天的记录时返回的LoadDate理想上是最早合并的记录之一。

会有人知道如何执行此操作-我已经被这个问题困扰了好几天了...。感谢您的帮助!

0 个答案:

没有答案