Saltar al contenido

TSQL Pivot sin función agregada

Agradecemos tu ayuda para difundir nuestros artículos en referencia a las ciencias de la computación.

Solución:

si, pero por qué !!??

   Select CustomerID,
     Min(Case DBColumnName When 'FirstName' Then Data End) FirstName,
     Min(Case DBColumnName When 'MiddleName' Then Data End) MiddleName,
     Min(Case DBColumnName When 'LastName' Then Data End) LastName,
     Min(Case DBColumnName When 'Date' Then Data End) Date
   From table
   Group By CustomerId

Puede usar el agregado MAX, aún funcionaría. MAX de un valor = ese valor ..

En este caso, también podría unirse 5 veces en customerid, filtrar por dbColumnName por referencia de tabla. Puede funcionar mejor.

WITH pivot_data AS
(
SELECT customerid, -- Grouping Column
dbcolumnname, -- Spreading Column
data -- Aggregate Column
FROM pivot2 
)
SELECT customerid, [firstname], [middlename], [lastname]
FROM pivot_data
PIVOT (max(data) FOR dbcolumnname IN ([firstname],[middlename],[lastname])) AS p;

Calificaciones y comentarios

Si te gusta la informática, puedes dejar un tutorial acerca de qué le añadirías a esta reseña.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *