tenemos una tabla como la siguiente:
queremos rellenar los Valor NULL con el último valor anterior conocido.
ejecutamos la siguiente query
-- CUENTA EL CAMPO QUE TIENE NULLS
SELECT ID, v
,Cuenta=COUNT(v) OVER (ORDER BY ID)
FROM #X
Este es el truco, va contando el número de valores encontrados:
ya solamente se necesita un SELECT MAX Particionado por la columna "Cuenta".
SELECT ID, v, s=MAX(v) OVER (PARTITION BY cuenta)
FROM
(
SELECT ID, v
,Cuenta=COUNT(v) OVER (ORDER BY ID)
FROM #X
) a
ORDER BY ID;
source:
No hay comentarios.:
Publicar un comentario