Tengo una tabla que tiene este aspecto:¿Puede pivotar SQL Server sin conocer los nombres de las columnas resultantes?
Month Site Val
2009-12 Microsoft 10
2009-11 Microsoft 12
2009-10 Microsoft 13
2009-12 Google 20
2009-11 Google 21
2009-10 Google 22
Y quiero conseguir una mesa 2-dimensión que me da el "Val" para el mes de cada sitio, como:
Month Microsoft Google
2009-12 10 20
2009-11 12 21
2009-10 13 22
Pero la trampa es que no conozco todos los valores posibles que pueden estar en "Sitio". Si aparece un nuevo sitio, quiero obtener automáticamente una nueva columna en la tabla resultante.
Todos los ejemplos de código que vi que podían hacer esto me obligaron a codificar "Microsoft y Google" en el texto de la consulta.
I saw one that didn't, pero básicamente estaba fingiendo al enumerar los Sitios y generar una consulta sobre la marcha (concatenando una cadena) que tenía esos nombres de columna.
¿No hay una manera de hacer que SQL Server 2008 haga esto sin un truco como ese?
NOTA: Necesito poder ejecutar esto como una consulta que envío desde ASP.Net, no puedo hacer procedimientos almacenados u otras cosas por el estilo.
Gracias!
Daniel
Lo lo que estaba buscando debería ser posible al ejecutar la consulta en tiempo de ejecución usando 'exec (@sql)' ver [aquí] (http://stackoverflow.com/questions/15752112/). – surfmuggle