Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich Zeilen in SQL Server mithilfe der PIVOT-Funktion in Spalten?
Verwenden Sie die Pivot -Funktion im SQL -Server, um die Zeile in Spalten zu konvertieren
Lösung
Popot -Funktion für bekannte Spaltenwerte:Für die vordefinierten Spaltenwerte (die Anzahl der Wochen in diesem Beispiel) können Sie die Pivot -Funktion direkt verwenden:
dynamisch erzeugte Perspektivenspalten:
<code class="language-sql">select * from ( select store, week, xCount from yt ) src pivot ( sum(xcount) for week in ([1], [2], [3]) ) piv;</code>Um den unbekannten Spaltenwert (z. B. die Anzahl der dynamischen Wochen) zu verarbeiten, kann die Kombination des dynamischen SQL und der Fensterfunktion verwendet werden:
<:> Ergebnis:
Beide Methoden erzeugen das gleiche Ergebnis:
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX) select @cols = STUFF((SELECT ',' + QUOTENAME(Week) from yt group by Week order by Week FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'SELECT store,' + @cols + ' from ( select store, week, xCount from yt ) x pivot ( sum(xCount) for week in (' + @cols + ') ) p ' execute(@query);</code>
| | | | |
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Zeilen in SQL Server mithilfe der PIVOT-Funktion in Spalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!