Beruflich Dokumente
Kultur Dokumente
Sintaxis:
Ejemplo 1:
En este ejemplo los datos de la tabla #Ingresos se hace pivotar de modo que el curso se convierte en
los encabezados de columna.
Script Pivot sobre la tabla #Ingresos, donde los distintos valores del campo Curso son transformados
en columnas.
SELECT * FROM #Ingresos
PIVOT(SUM(Ganancias)
FOR Curso IN ([.NET], Java)) AS PVT
Ejemplo 2:
En este ejemplo los datos de tabla #Ingresos se hace pivotar de modo que el año se convierte en los
encabezados de columna.
Ejemplo 3:
La transformación de los datos de la tabla de Ventas con una publicación trimestral los datos de
ventas agregadas con Trimestre (Quarters) como las columnas del conjunto de resultados.
SELECT *
FROM (
SELECT YEAR(FechaVta) AS Año, DATENAME(Month, FechaVta) AS Mes,
COUNT(*) AS NroVentas FROM #Ventas
GROUP BY YEAR(FechaVta), DATENAME(Month, FechaVta)
) As SCR
PIVOT(SUM(NroVentas)
FOR Mes IN (Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,
Septiembre,Octubre,Noviembre,Diciembre)) AS PVT
PIVOT DINAMICOS
A los anteriores ejemplos se le aplico PIVOT estático. Es decir los nombres de las
columnas en el PIVOT se han asignado mediante nombres estáticos. Ahora vamos a ver
cómo podríamos crear PIVOT con nombres de columnas generados dinámicamente.
También se puede haber generado las columnas del PIVOT del siguiente modo:
Ref: http://sqlhints.com/2014/03/18/dynamic-pivot-in-sql-server/