Ho una tabella che assomiglia a questo:È possibile eseguire il pivot di SQL Server senza conoscere i nomi delle colonne risultanti?
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
E voglio ottenere un tavolo 2-dimensione che mi dà la "Val" per il mese di ciascun sito, come:
Month Microsoft Google
2009-12 10 20
2009-11 12 21
2009-10 13 22
Ma il problema è che non conosco tutti i possibili valori che possono trovarsi in "Sito". Se viene visualizzato un nuovo sito, desidero ottenere automaticamente una nuova colonna nella tabella risultante.
Tutti gli esempi di codice che ho visto che potevano fare questo mi hanno richiesto di inserire hardcode "Microsoft e Google" nel testo della query.
I saw one that didn't, ma fondamentalmente si stava fingendo elencando i Siti e generando una query al volo (concatenando una stringa) che conteneva quei nomi di colonna.
Non c'è un modo per ottenere SQL Server 2008 per eseguire questa operazione senza un attacco del genere?
NOTA: Devo essere in grado di eseguirlo come una query che invio da ASP.Net, non posso eseguire stored procedure o altre cose del genere.
Grazie!
Daniel
Cosa dovresti essere possibile eseguendo la query in fase di esecuzione usando 'exec (@sql)' vedi [qui] (http://stackoverflow.com/questions/15752112/). – surfmuggle