Agrupación y totales parametrizados en SQL Server

Quizás un parámetro que no usamos tanto como debiéramos a la otra de agrupar resultados de cualquier consulta en SQL SERVER es la cláusula WITH ROLLUP. Y su funcionalidad es tan clara y útil que desconozco el motivo. Seguro que podríamos obtener los mismos resultados replicando SUMs y GROUPs según los campos que queramos, pero, nuevamente recuerdo la pregunta que siempre nos debe rondar la cabeza a los profesionales IT: ¿para qué inventar de nuevo la rueda?. 

Un ejemplo sencillo para comprender el funcionamiento. Tenemos una compañía con un par de filiales y en cada una de ellas operan varios departamentos. A su vez éstos se encuentran localizados en un área geográfica del continente. Para cada elemento se mantiene actualizado el total de ingresos y de gastos que cada uno lleva históricamente. ¿Qué sentencia ejecutaríamos para obtener el saldo, es decir, la diferencia entre lo ingresado y lo gastado por cada uno?. ¿Y si el parámetro fuera por filial y departamento?. ¿O por área?. Repasemos el código y los resultados obtenidos tras incluir la cláusula WITH ROLLOUP tras el GROUP BY. Se ve claramente que se agrupan los valores según los parámetros y que obtenemos a continuación de ellos el total acumulado para dichos parámetros, y ordenados, listos para sacar en cualquier listado en nuestras aplicaciones, sin necesidad de usar variables locales para totalizar, ni artificios similares. Espero que os haya sido de utilidad. ¡Hasta la próxima!.

No hay comentarios :

Publicar un comentario

Buscar en el Blog: