Heim > Datenbank > MySQL-Tutorial > Wie kombiniere ich mehrere SQL-Zeilen in einem einzigen durch Trennzeichen getrennten Feld?

Wie kombiniere ich mehrere SQL-Zeilen in einem einzigen durch Trennzeichen getrennten Feld?

DDD
Freigeben: 2025-01-22 00:27:09
Original
717 Leute haben es durchsucht

How to Combine Multiple SQL Rows into a Single Delimited Field?

SQL Server-Funktion: Kombinieren mehrerer SQL-Zeilen in einem einzigen durch Trennzeichen getrennten Feld

Das effiziente Zusammenführen mehrerer Zeilen aus einer Unterabfrage in einem einzigen, durch Trennzeichen getrennten Feld innerhalb von SQL Server erfordert einen robusten Ansatz. In diesem Artikel werden zwei effektive Techniken vorgestellt, die für verschiedene SQL Server-Versionen geeignet sind.

FÜR XML-PFAD (SQL Server 2005 und höher):

Diese Methode, kompatibel mit SQL Server 2005 und nachfolgenden Versionen, nutzt den Befehl FOR XML PATH für die Zeichenfolgenverkettung. Hier ist ein Beispiel:

<code class="language-sql">SELECT [VehicleID], [Name], 
       (STUFF((SELECT CAST(', ' + [City] AS VARCHAR(MAX)) 
               FROM [Location] 
               WHERE (VehicleID = Vehicle.VehicleID) 
               FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '')) AS Locations
FROM [Vehicle]</code>
Nach dem Login kopieren

Diese Abfrage verwendet FOR XML PATH, um für jedes VehicleID eine durch Kommas getrennte Zeichenfolge von Stadtwerten zu erstellen. Die Funktion STUFF entfernt das führende Komma.

STRING_AGG (SQL Server 2017 und höher):

Für SQL Server 2017 und höher bietet die Funktion STRING_AGG eine sauberere und effizientere Lösung:

<code class="language-sql">SELECT [VehicleID], [Name], 
       (SELECT STRING_AGG([City], ', ') 
        FROM [Location] 
        WHERE VehicleID = V.VehicleID) AS Locations
FROM [Vehicle] V</code>
Nach dem Login kopieren

STRING_AGG verkettet die City-Werte direkt mit einem angegebenen Trennzeichen (in diesem Fall einem Komma und einem Leerzeichen). Dieser Ansatz wird im Allgemeinen wegen seiner besseren Lesbarkeit und Leistung bevorzugt.

Beide Methoden fassen Daten aus mehreren Zeilen effektiv in einem einzigen durch Trennzeichen versehenen Feld zusammen und vereinfachen so die Datenbearbeitung innerhalb von SQL Server. Wählen Sie die Methode, die am besten zu Ihrer SQL Server-Version passt, um optimale Ergebnisse zu erzielen.

Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere SQL-Zeilen in einem einzigen durch Trennzeichen getrennten Feld?. 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