Heim >Datenbank >MySQL-Tutorial >Wie kann ich eine T-SQL-Tabelle ohne Verwendung von Aggregatfunktionen drehen?

Wie kann ich eine T-SQL-Tabelle ohne Verwendung von Aggregatfunktionen drehen?

Susan Sarandon
Susan SarandonOriginal
2025-01-20 09:57:09859Durchsuche

How to Pivot a T-SQL Table Without Using Aggregate Functions?

T-SQL-Pivot: Keine Aggregationsfunktionen erforderlich

In einigen Fällen müssen Sie möglicherweise Daten in einer Tabelle in das Pivot-Format konvertieren, ohne Aggregatfunktionen wie SUM oder COUNT zu verwenden. Dieses Beispiel zeigt eine einzigartige Möglichkeit, den PIVOT-Operator zu verwenden, wenn Aggregatfunktionen nicht erforderlich sind.

Angenommen, es gibt eine Quelltabelle mit Kundeninformationen:

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

Die Zielausgabe ist eine Pivot-Tabelle, die Kundeninformationen in separaten Spalten anzeigt:

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 ohne die Verwendung von Aggregatfunktionen zu erreichen, können Sie die folgende T-SQL-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>

Diese Abfrage verwendet die MIN-Funktion in einer CASE-Anweisung, um den Mindestwert für jede Spalte basierend auf DBColumnName auszuwählen. Die „GROUP BY“-Klausel wird verwendet, um die Ergebnisse nach CustomerID zu gruppieren.

Obwohl dieser Ansatz im Vergleich zur Verwendung von Aggregatfunktionen umständlich und ineffizient erscheinen mag, kann er in bestimmten Situationen, in denen Aggregatfunktionen nicht geeignet sind (z. B. beim Umgang mit eindeutigen oder unterschiedlichen Werten), eine größere Flexibilität bieten. Bewerten Sie unbedingt die spezifischen Anforderungen Ihrer Anfrage und wählen Sie den für die jeweilige Situation am besten geeigneten Ansatz.

Das obige ist der detaillierte Inhalt vonWie kann ich eine T-SQL-Tabelle ohne Verwendung von Aggregatfunktionen drehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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