SQL Server Dynamic Perspektive AbfrageIn diesem Artikel wird eingeführt, wie der Datensatz aus dem vertikalen Format in das horizontale Format konvertiert wird. Dies wird normalerweise mit dem Pivot -Computersymbol implementiert.
Der folgende SQL -Code initialisiert den Datensatz in einer temporären Tabelle namens
. Dynamisches SQL wird verwendet, um eine Drehzahlabfrage zu erstellen.Variablen verbinden verschiedene Kategorien zu Zeichenfolgen, in denen das Komma getrennt ist.
Ausführung dieser Abfrage generiert die erforderlichen Ergebnisse:temp
Die Variablen erstellen eine tatsächliche Drehzahlabfrage, die am Datum gepackt und gemäß der Kategorie angezeigt wird.@cols
@query
<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX), @query AS NVARCHAR(MAX); SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.category) FROM temp c FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'') set @query = 'SELECT date, ' + @cols + ' from ( select date , amount , category from temp ) x pivot ( max(amount) for category in (' + @cols + ') ) p '</code>Nach dem Login kopierenDiese dynamische Methode ermöglicht die Kategorie, wie dies erforderlich ist, ohne die Abfragestruktur zu ändern. Denken Sie daran, die temporäre Tabelle nach dem Gebrauch zu löschen, um Leistungsprobleme zu vermeiden.
<code>日期 ABC DEF GHI 2012-01-01 00:00:00.000 1000.00 NULL NULL 2012-02-01 00:00:00.000 NULL 500.00 800.00 2012-02-10 00:00:00.000 NULL 700.00 NULL 2012-03-01 00:00:00.000 1100.00 NULL NULL</code>Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonWie kann ich Daten in SQL Server dynamisch drehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!