Archivo de la etiqueta: group

Como pivotar datos en consultas SQL

A lo largo de mi vida profesional me he encontrado con la necesidad de crear salidas de datos en las que tenia los datos por filas en las tablas de la base de datos y la representación para el usuario requería columnas. El procedimiento por el cual se transforman filas en columnas se llama “pivotar”.

Vamos a partir de un ejemplo simple. Tenemos una tabla de ventas por mes en la que se almacena 4 campos: año, mes, cantidad e importe de venta mensual.

select * from VENTAS
ANYO MES CANTIDAD IMPORTE
2000 1 223 9587.66
2000 2 458 21593.4
2000 3 625 35051.4
2000 4 600 40539.87
2000 5 425 38067.3

(Existen datos para todos los meses de los años 2000, 2001 y 2003 )

Supongamos que necesitamos los datos en una tabla cruzada de Años contra meses. La primera forma de hacerlo que se nos suele ocurrir es obtener todas las tuplas de la tabla y con el lenguaje que estemos programando ir recorriendo fila por fila e ir pintando en una tabla los datos para cada año y mes uno a uno.
Con la pivotación de estos datos podemos ahorrarnos mucho trabajo y tiempo de calculo en nuestra aplicación. Sigue leyendo Como pivotar datos en consultas SQL