Heim > Datenbank > MySQL-Tutorial > Wie verkette ich mehrere Zeilen in einer einzigen durch Kommas getrennten Zeichenfolge in SQL Server?

Wie verkette ich mehrere Zeilen in einer einzigen durch Kommas getrennten Zeichenfolge in SQL Server?

Mary-Kate Olsen
Freigeben: 2025-01-07 21:12:41
Original
300 Leute haben es durchsucht

How to Concatenate Multiple Rows into a Single Comma-Separated String in SQL Server?

Effizientes Kombinieren mehrerer Zeilen zu einer einzigen durch Kommas getrennten Zeichenfolge in SQL Server

SQL Server erfordert häufig die Aggregation von Daten aus mehreren Zeilen in einer einzigen, durch Kommas getrennten Zeichenfolge, insbesondere beim Gruppieren von Ergebnissen. Dies ist eine häufige Aufgabe für die Berichterstattung und Datenpräsentation. Eine leistungsstarke Methode, um dies zu erreichen, nutzt das FOR XML PATH-Konstrukt.

Sehen wir uns eine Tabelle mit den Spalten „ID“ und „Wert“ an:

ID Value
1 a
1 b
2 c

Die folgende SQL-Abfrage verkettet effizient Value-Einträge für jedes eindeutige ID in einer durch Kommas getrennten Zeichenfolge:

<code class="language-sql">SELECT 
    ID, 
    STUFF((SELECT ', ' + Value
           FROM YourTable t2
           WHERE t1.ID = t2.ID
           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values
FROM
    YourTable t1
GROUP BY
    ID;</code>
Nach dem Login kopieren

Diese Abfrage verwendet eine Unterabfrage mit FOR XML PATH(''), um die Werte zu verketten. Die Methode .value('.', 'NVARCHAR(MAX)') wandelt das XML-Ergebnis in einen String um. STUFF entfernt das führende Komma und das Leerzeichen.

Die Ausgabe wird sein:

ID Values
1 a, b
2 c

Dieser Ansatz bietet eine saubere und effiziente Möglichkeit, durch Kommas getrennte aggregierte Werte in SQL Server zu generieren und so die Lesbarkeit und Benutzerfreundlichkeit Ihrer Daten zu verbessern.

Das obige ist der detaillierte Inhalt vonWie verkette ich mehrere Zeilen in einer einzigen durch Kommas getrennten Zeichenfolge in SQL Server?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage