Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann SQL Server Pivot ausführen, ohne die resultierenden Spaltennamen zu kennen?

Das von Ihnen verlinkte Beispiel verwendet dynamisches SQL. Leider gibt es keine andere integrierte Methode zum Pivotieren in SQL Server, wenn die Ausgabespalten nicht im Voraus bekannt sind.

Wenn die Daten nicht zu groß sind, ist es wahrscheinlich am einfachsten, einfach eine normale Zeilenabfrage von ASP.NET auszuführen und Ihren Drehpunkt im Anwendungscode auszuführen. Wenn die Daten sehr groß sind, müssen Sie die SQL dynamisch generieren, nachdem Sie zuerst die möglichen Spaltenwerte abgefragt haben.

Beachten Sie, dass Sie eigentlich keine SQL-Anweisung schreiben müssen, die dynamisches SQL generiert; Sie können das SQL einfach in ASP.NET generieren, und das wird höchstwahrscheinlich viel einfacher sein. Vergessen Sie nur nicht, der eindeutigen Site zu entkommen Werte, bevor Sie sie in eine generierte Abfrage werfen, und vergessen Sie nicht, alle Teile der SQL-Anweisung zu parametrisieren, die Sie normalerweise ohne den Pivot verwenden würden.