4
У меня есть следующая таблица, в которой записано значение в день. Проблема в том, что иногда не хватает дней. Я хочу написать SQL запрос, который будет:SQL Server Interpolate Отсутствующие строки
- Возврат недостающих дней
- Вычислить отсутствующее значение с помощью линейной интерполяции
Так из следующей таблицы источника:
Date Value
--------------------
2010/01/10 10
2010/01/11 15
2010/01/13 25
2010/01/16 40
Я хочу вернуть:
Date Value
--------------------
2010/01/10 10
2010/01/11 15
2010/01/12 20
2010/01/13 25
2010/01/14 30
2010/01/15 35
2010/01/16 40
Любая помощь будет принята с благодарностью.
Спасибо GalacticJello, что вы звезда. Только то, что мне нужно. – SausageFingers
Это решение вычисляет недостающие значения по коэффициенту, основанному на первой и последней записи в таблице. Я немного изменил код, чтобы пересчитать недостающие значения на основе предыдущих и следующих известных значений в любой заданной строке. После строки: "где PID = @thisId + 1" Добавить строки: "select @diff = DATEDIFF (d, @thisDate, @nextDate)" "set @increment = (@nextValue - @thisValue)/@diff» – SausageFingers