Lassen Sie uns sagen, dass ich ein paar Daten, entweder in einer SQL Server 2008-Tabelle oder eine [Tabelle] -typed Variable:Mit PIVOT in SQL Server 2008
author_id review_id question_id answer_id
88540 99001 1 719
88540 99001 2 720
88540 99001 3 721
88540 99001 4 722
88540 99001 5 723
36414 24336 1 302
36414 24336 2 303
36414 24336 3 304
36414 24336 4 305
36414 24336 5 306
ich die Daten als Ergebnismenge abrufen möchten, die sieht wie folgt aus:
author_id review_id 1 2 3 4 5
88540 99001 719 720 721 722 723
36414 24336 302 303 304 305 306
ich die PIVOT-Operator vermuten ist, was ich brauche (nach this post, sowieso), aber ich kann nicht herausfinden, wie um zu beginnen, vor allem, wenn die Anzahl der question_id Reihen in Der Tisch kann variieren. Im obigen Beispiel ist es 5, aber in einer anderen Abfrage könnte die Tabelle mit 7 verschiedenen Fragen gefüllt sein.
Dies scheint zu sein, was ich brauche. Ich werde es versuchen und zurückmelden - danke! –
Bitte beachten Sie die Unterabfrage. Wenn Sie nur "SELECT * FROM YourTable" verwenden, wirken sich alle anderen beteiligten Spalten auf die implizite Gruppierung aus, die die PIVOT-Funktion bereitstellt. Und wenn Sie irgendwelche Fehler haben, kommentieren Sie die 'exec' Zeile und ersetzen sie durch' select @ qry' –
Ich benutze nie mehr [SELECT *] - ich gebe immer explizit die Spalten an, auf die ich zugreife - so wird es nicht sein ein Problem. Und ja, ich benutzte [select @qry] für eine Weile, damit ich die generierte SQL-Anweisung sehen/debuggen konnte, bevor sie ausgeführt wurde. Ihr Code funktionierte wie versprochen - vielen Dank für Ihre Hilfe! –