¿Te gustaría aprender Base de Datos con SQL Server?
Tenemos los diplomados que necesitas.¡Haz clic aquí!


En este post queremos hablar de los operadores relacionales PIVOT y UNPIVOT de SQL Server los cuales en una consulta SQL permiten intercambiar los resultados de filas por columnas (referencias cruzadas).

Aunque en este post nos centramos en SQL Server estos operadores están disponibles en otros gestores de Base de Datos como Oracle.

PIVOT

A través de este operador de SQL Server, podemos transformar las filas devueltas mediante una consulta en columnas de valor único.

La sintaxis del este operador sería:

Veamos un ejemplo de uso. Supongamos que disponemos de los siguientes datos:

Al tomar estos datos como entrada, aplicando el operador PIVOT:

Los resultados obtenidos serían:

Como podemos observar, se hace una agrupación por años, aplicando la función de agrupación SUM y los valores únicos de los años se emplean en la salida como columnas.

Si pidiésemos años para los que no existen valores, en las celdas correspondientes se devolvería NULL.

UNPIVOT

Para realizar la operación inversa, es decir transformar columnas en filas, usamos el operador de SQL Server llamado UNPIVOT.

Para ver el funcionamiento de UNPIVOT, supongamos que usamos como datos de entrada la siguiente tabla:

Si aplicamos el operador UNPIVOT a través de la sentencia:

Los resultados obtenidos serían:

Que como se puede observar, muestra los datos intercambiando las columnas y cruzando las columnas con las filas originales para obtener la tabla completa.

Por tanto UNPIVOT es el operador opuesto a PIVOT, a excepción que PIVOT ejecuta una función de agregación, mientras transforma los valores de la fila en valores de columna, con lo cual podría fusionar lo valores de múltiples filas en un valor de una sola columna de salida. Por tanto, aplicando a unos datos el operador PIVOT y posteriormente el UNPIVOT, no obtendríamos los datos originales.

En cualquier caso estos dos operadores de SQL Server, como he mostrado a lo largo del post, son muy fáciles de usar y con una sola consulta nos pueden dar mucha información.

Te esperamos en los siguientes artículos en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría aprender Base de Datos con SQL Server?
Tenemos los diplomados que necesitas.¡Haz clic aquí!
About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax