我的桌子上有多个街道名称,街道号范围和日期范围。问题是,不仅在日期中存在一些重叠,而且在街道数字中也存在一些重叠,我需要将其拆分。我看到了一个关于如何通过日期(SQL Server separate overlapping dates)拆分它的问题,但我的问题似乎略有不同,但更为复杂。
例如,这就是它现在的样子:
StartDate EndDate StreetName StreetNumberLow StreetNumberHigh Value
2017/1/1 2017/3/31 MyStreet 5 7 1729
2017/4/1 2020/12/31 MyStreet 5 7 1763
2017/1/1 2017/12/31 MyStreet 1 11 1729
2018/1/1 2020/12/31 MyStreet 1 11 18128
应该如何看待:
StartDate EndDate StreetName StreetNumberLow StreetNumberHigh Value
2017/1/1 2017/3/31 MyStreet 5 7 1729
2017/4/1 2020/12/31 MyStreet 5 7 1763
2017/1/1 2017/12/31 MyStreet 1 4 1729
2017/1/1 2017/12/31 MyStreet 8 11 1729
2018/1/1 2020/12/31 MyStreet 1 4 18128
2018/1/1 2020/12/31 MyStreet 8 11 18128
正如您所看到的,街道号和日期有两个重叠,所以我需要拆分它。有人可以帮我找到解决方案吗?谢谢
编辑:另一个案例:如果我从1月到6月的街道编号范围为1 - 11,价值为100,街道编号范围为5 - 7,从3月到12月,价值为200,那么结果应如下:街道数字范围1 - 11从1月到2月,价值100,街道数字范围1 - 4,价值100,5 - 7,价值200和8 - 11,价值100从3月到6月,街道数字范围5 - 7从7月到12月,价值200