Estoy trabajando con un conjunto de datos que se parece a lo siguiente.Pivote de SQL Server 2005 con un número desconocido de columnas
StudentName | AssignmentName | Grade --------------------------------------- StudentA | Assignment 1 | 100 StudentA | Assignment 2 | 80 StudentA | Total | 180 StudentB | Assignment 1 | 100 StudentB | Assignment 2 | 80 StudentB | Assignment 3 | 100 StudentB | Total | 280
El nombre y el número de asignaciones son dinámicos, lo que necesito para obtener resultados simlilar a lo siguiente.
Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | 280
Ahora Tu lugar ideal para ordenar la columna basada en una "fecha de vencimiento" que podrían ser incluidos/asociado con cada asignación. El total debe estar al final si es posible (se puede calcular y eliminar de la consulta si es posible)
Sé cómo hacerlo para las 3 asignaciones usando pivote simplemente nombrando las columnas, está tratando de hacer de una manera dinámica que aún no he encontrado una BUENA solución. Estoy tratando de hacer esto en SQL Server 2005
EDITAR
Idealmente me gustaría poner en práctica esto sin usar SQL dinámico, ya que es en contra de la política. Si no es posible ... entonces funcionará un ejemplo de trabajo con SQL dinámico.
El gran ejemplo de Cade parece que voy a tener que seguir esa ruta ... –
¡Gracias por el enlace de referencia y por ejemplo! Tendré que hacerlo de esa manera, SQL dinámico parece tan SUCIO pero a veces necesario –
Cade, ¡solo quería decir gracias de nuevo! Tengo esto funcionando como un mecanismo de relojería ahora de mi lado ... –