Für die Datentransformation ist häufig eine Aufhebung der Pivotierung erforderlich, die normalerweise mithilfe von Aggregatfunktionen erreicht wird. Allerdings ist auch eine Pivotierung ohne Aggregation möglich.
Stellen Sie sich eine Tabelle vor, in der jede Zeile einen Kunden darstellt, einschließlich CustomerID, DBColumnName und den entsprechenden Daten. Das Ziel besteht darin, diese Daten zu zentrieren und die Daten jedes Kunden basierend auf seinem DBColumnName in separaten Spalten zu organisieren.
<code class="language-sql">SELECT CustomerID, MIN(CASE WHEN DBColumnName = 'FirstName' THEN Data END) AS FirstName, MIN(CASE WHEN DBColumnName = 'MiddleName' THEN Data END) AS MiddleName, MIN(CASE WHEN DBColumnName = 'LastName' THEN Data END) AS LastName, MIN(CASE WHEN DBColumnName = 'Date' THEN Data END) AS Date FROM table GROUP BY CustomerID;</code>
Diese T-SQL-Abfrage verwendet bedingte Logik (CASE-Anweisungen), um Daten basierend auf DBColumnName auszuwählen. Die Funktion MIN()
stellt sicher, dass für jede Kundenspalte nur ein Wert ausgewählt wird. Dadurch werden die Daten effektiv geschwenkt, ohne eine Aggregation im herkömmlichen Sinne zu verwenden, und die Attribute jedes Kunden werden in verschiedenen Spalten organisiert. Diese Methode vermeidet potenzielle Probleme im Zusammenhang mit der Aggregation beim Umgang mit nicht numerischen Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich T-SQL-Daten Pivotieren, ohne Aggregationsfunktionen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!