Мне нужна поддержка в моем коде запроса SQL. Я должен заменить нулевое значение в столбце ненулевым значением из следующей строки.
В качестве примера мы можем использовать этот код:
declare @value table (r# int, value varchar(15))
insert into @value ( r#, value ) values
(1, NULL ) ,
(2, 'January'),
(3, 'February' ),
(4, NULL ),
(5, 'March' ),
(6, NULL ),
(7, Null ),
(8, 'December' ),
(9, Null ),
(10, Null ),
(11, Null ),
(12, 'November' ),
(13, Null )
select * from @value
Когда я использую функцию отведения, я получаю это значение, но оно не работает с NULL. Что мне нужно, это получить:
1 January
2 January
3 February
4 March
5 March
6 December
7 December
8 December
9 November
10 November
11 November
12 November
13 NULL
Бу из моего запроса:
SELECT r#,
value
,case when value is null then Lead(value) OVER ( order by r# asc) else value end as RESULT
FROM @value
order by r#