Existen casos en los que se requiere obtener la información de SQL pero en que la información del renglón actual depende del anterior, por ejemplo el caso de las entradas y salidas de un inventario, en el que no tengo el registro de existencia de manera permanente.
Veamos un ejemplo, tengo la siguiente tabla
¿Qué es lo que hace? Ejecuta la suma pero tomando en cuenta el valor del renglón precedente.
si ejecutamos el query obtenemos
En donde se ve que el nuevo valor nos muestra el total de nuestro inventario
Felices lineas
Veamos un ejemplo, tengo la siguiente tabla
Como se puede ver no tengo un total de existencia, para poder obtener este total vamos a usar un concepto que se llama running totals, para ello es muy importante que tengamos un campo que le de un orden a nuestra informacion, en este caso es el id, pero puede ser también una fecha.
El query que emplearemos es el siguiente:
SELECT Entrada, Salida,
SUM(Entrada - Salida) OVER(ORDER BY Id
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
AS RunningTotal
FROM suma
SUM(Entrada - Salida) OVER(ORDER BY Id
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
AS RunningTotal
FROM suma
si ejecutamos el query obtenemos
Felices lineas
No hay comentarios.:
Publicar un comentario