Heim > Datenbank > MySQL-Tutorial > Wie führe ich eine T-SQL-PIVOT-Operation ohne Aggregatfunktionen durch?

Wie führe ich eine T-SQL-PIVOT-Operation ohne Aggregatfunktionen durch?

Mary-Kate Olsen
Freigeben: 2025-01-20 09:51:09
Original
961 Leute haben es durchsucht

How to Perform a T-SQL PIVOT Operation Without Aggregate Functions?

T-SQL PIVOT-Betrieb ohne Aggregatfunktionen

Im Gegensatz zu PIVOT-Operationen, die normalerweise Aggregatfunktionen erfordern, können PIVOT-Transformationen auch ohne Aggregatfunktionen durchgeführt werden. Dies kann in bestimmten Szenarien auftreten, in denen eine Datenrekonstruktion ohne Aggregation erforderlich ist.

Betrachten Sie das folgende Formular:

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

Das Ziel besteht darin, diese Daten in die folgenden Ergebnisse umzuwandeln:

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

Um dies mit PIVOT ohne Aggregatfunktion zu erreichen, können Sie die folgende Abfrage verwenden:

<code class="language-sql">SELECT CustomerID,
       MIN(CASE DBColumnName WHEN 'FirstName' THEN Data END) AS FirstName,
       MIN(CASE DBColumnName WHEN 'MiddleName' THEN Data END) AS MiddleName,
       MIN(CASE DBColumnName WHEN 'LastName' THEN Data END) AS LastName,
       MIN(CASE DBColumnName WHEN 'Date' THEN Data END) AS Date
FROM table
GROUP BY CustomerId;</code>
Nach dem Login kopieren

Diese Abfrage führt eine Case-Anweisung in einer PIVOT-Operation aus, um den Mindestwert jedes DBColumnName für eine bestimmte CustomerID auszuwählen. Da es für jede Kombination aus CustomerID und DBColumnName nur eine Datenzeile gibt, gibt die MIN-Funktion den erforderlichen Wert zurück.

Das obige ist der detaillierte Inhalt vonWie führe ich eine T-SQL-PIVOT-Operation ohne Aggregatfunktionen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage