我在SQL Server中的表结构如下所示.
id startdate enddate value
---------------------------------------
1 2019-02-06 2019-02-07 11
1 2019-01-22 2019-02-05 10
1 2019-01-15 2019-01-21 14
1 2018-12-13 2018-01-14 15
1 2018-12-09 2018-12-12 14
1 2018-08-13 2018-12-08 17
1 2018-07-19 2018-08-12 19
1 2018-06-13 2018-07-18 20
现在,我的查询需要显示该月最高开始日期的值.很好,我知道需要做什么,但不能仅从该月的最高日期值开始,如果该开始日期没有值,则从上个月结转值.因此,基本上如果您注意到上述数据,则2018年12月的值之后没有11月,10月,9月等的值,但我想返回该月的MM / YYYY值,但这些月的值应为我们在上找到的值较早的月份,即8月的值,在此示例中为17.请注意,结束日期将始终为新开始日期开始的前一天.可能可以用于回填并结转缺少的月份值吗?
因此,我的结果应如下所示.
id date value
----------------------------
1 2019-02 11
1 2019-01 10
1 2018-12 15
1 2018-11 17
1 2018-10 17
1 2018-09 17
1 2018-08 17
1 2018-07 19
1 2018-06 20
您是否认为可以在不使用光标的情况下完成此操作?