miércoles, 27 de noviembre de 2019

226. Running Totals SQL Server

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



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

¿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

No hay comentarios.:

Publicar un comentario