Ich habe einen Tisch wie diesen ...
CustomerID DBColumnName Data
--------------------------------------
1 FirstName Joe
1 MiddleName S
1 LastName Smith
1 Date 12/12/2009
2 FirstName Sam
2 MiddleName S
2 LastName Freddrick
2 Date 1/12/2009
3 FirstName Jaime
3 MiddleName S
3 LastName Carol
3 Date 12/1/2009
Und ich will das ...
Ist das mit PIVOT möglich?
CustomerID FirstName MiddleName LastName Date
----------------------------------------------------------------------
1 Joe S Smith 12/12/2009
2 Sam S Freddrick 1/12/2009
3 Jaime S Carol 12/1/2009
sql
sql-server
tsql
pivot
pivot-without-aggregate
ctrlShiftBryan
quelle
quelle
Ja aber warum !!??
quelle
Pivot
in meiner Abfrage verwendet, dann habe ich zu diesem gewechselt und mir den Ausführungsplan angesehen, um beide zusammen auszuführen. Dieser Ansatz kostete 8% und der Pivot-Ansatz 92%!Warning: Null value is eliminated by an aggregate or other SET operation
quelle
SELECT
Anweisung unter dem CTE hätte nur den Namen der Originaltabelle angeben können.Bearbeiten: Ich habe dies ohne Editor geschrieben und die SQL nicht ausgeführt. Ich hoffe, Sie haben die Idee.
quelle
Ok, entschuldige die arme Frage. gbn hat mich auf den richtigen Weg gebracht. Das habe ich in einer Antwort gesucht.
Dann musste ich eine while-Anweisung verwenden und die obige Anweisung als varchar erstellen und dynmaic sql verwenden.
Mit so etwas
Sie müssen @fulltext mithilfe einer while-Schleife erstellen und die verschiedenen Spaltennamen aus der Tabelle auswählen. Danke für die Antworten.
quelle
Das OP musste sich eigentlich nicht ohne Agregation drehen, aber für diejenigen von Ihnen, die hierher kommen, um zu wissen, wie man sieht:
SQL-parametrisierte CTE-Abfrage
Die Antwort auf diese Frage beinhaltet eine Situation, in der ein Pivot ohne Aggregation erforderlich ist, sodass ein Beispiel dafür Teil der Lösung ist.
quelle
Versuche dies:
quelle
Das sollte funktionieren:
quelle
Hier ist eine großartige Möglichkeit, dynamische Felder für eine Pivot-Abfrage zu erstellen:
- Werte in eine tmp-Tabelle zusammenfassen
--- siehe die generierten Felder
quelle