Heim > Datenbank > MySQL-Tutorial > Wie kann ich Daten in SQL Server dynamisch drehen?

Wie kann ich Daten in SQL Server dynamisch drehen?

DDD
Freigeben: 2025-01-25 18:52:11
Original
211 Leute haben es durchsucht

How to Dynamically Pivot Data in SQL Server?

SQL Server Dynamic Perspektive Abfrage

In 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. temp Die Variablen erstellen eine tatsächliche Drehzahlabfrage, die am Datum gepackt und gemäß der Kategorie angezeigt wird. @cols @query

Ausführung dieser Abfrage generiert die erforderlichen Ergebnisse:
<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 kopieren

Diese 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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage