Ich habe eine Tabelle, die wie folgt aussieht:Kann SQL Server Pivot ohne Kenntnis der resultierenden Spaltennamen?
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
Und ich möchte eine 2-Dimension Tisch bekommen, die mir die „Val“ für jeden Monat Seite gibt, wie:
Month Microsoft Google
2009-12 10 20
2009-11 12 21
2009-10 13 22
Aber Der Haken ist, ich kenne nicht alle möglichen Werte, die in "Site" sein können. Wenn eine neue Website angezeigt wird, möchte ich automatisch eine neue Spalte in meiner resultierenden Tabelle abrufen.
Alle Codebeispiele, die ich gesehen habe, die dies tun könnten, erforderte, dass ich "Microsoft und Google" im Abfragetext fest codierte.
I saw one that didn't, aber es war im Grunde fälschen, indem Sie die Sites und eine Abfrage im laufenden Betrieb (concatting eine Zeichenkette), die diese Spaltennamen enthalten hatte.
Gibt es keine Möglichkeit, SQL Server 2008 ohne einen solchen Hack zu machen?
HINWEIS: Ich muss in der Lage sein, dies als eine Abfrage auszuführen, die ich von ASP.Net senden kann, kann ich gespeicherte Prozeduren oder andere Sachen so nicht tun.
Danke!
Daniel
Was Sie sollten möglich sein, indem Sie die Abfrage zur Laufzeit mit 'exec (@sql)' ausführen, siehe [hier] (http://stackoverflow.com/questions/15752112/). – surfmuggle