Heim > Datenbank > MySQL-Tutorial > Wie werden „FOR XML PATH' und „STUFF' kombiniert, um Daten in SQL Server zu verketten?

Wie werden „FOR XML PATH' und „STUFF' kombiniert, um Daten in SQL Server zu verketten?

Linda Hamilton
Freigeben: 2025-01-22 23:13:18
Original
681 Leute haben es durchsucht

How Do `FOR XML PATH` and `STUFF` Combine to Concatenate Data in SQL Server?

Die Synergie der Funktionen FOR XML PATH und STUFF in SQL Server

In SQL Server spielt die Kombination der Funktionen FOR XML PATH und STUFF eine entscheidende Rolle beim Organisieren und Zusammenführen von Daten. Lassen Sie uns die Mechanismen aufschlüsseln, um das gewünschte Ziel zu erreichen:

1. Verwenden Sie „FOR XML PATH“, um die XML-Elementzeichenfolge zu extrahieren

FOR XML PATH Abfrageergebnisse in XML-Elemente konvertieren. Durch Weglassen des Elementnamens wird eine durch Kommas getrennte Werteliste ausgegeben, wie im Beispiel gezeigt:

<code class="language-sql">SELECT ',' + name FROM temp1 FOR XML PATH('')</code>
Nach dem Login kopieren

2. Verwenden Sie STUFF, um führende Kommas zu entfernen

STUFF wird verwendet, um eine Zeichenfolge durch Ersetzen bestimmter Zeichen zu ändern. In diesem Beispiel entfernen wir das führende Komma in der XML-Zeichenfolge:

<code class="language-sql">STUFF((SELECT ',' + NAME FROM temp1 FOR XML PATH('')), 1, 1, '')</code>
Nach dem Login kopieren

3. Führen Sie eine Verknüpfung durch, um eine Liste zu erstellen

Abschließend wird die geänderte Liste über die Spalte „id“ mit der Originaltabelle verknüpft:

<code class="language-sql">SELECT ID, abc = STUFF((
             SELECT ',' + name 
              FROM temp1 t1
              WHERE t1.id = t2.id
              FOR XML PATH (''))
             , 1, 1, '') from temp1 t2
group by id;</code>
Nach dem Login kopieren

Diese Kombination verkettet effektiv die Werte der Spalte „Name“ für jede „ID“, was zur erwarteten Ausgabe führt:

<code>Id |    Name
-------------------
1   | aaa,bbb,ccc,ddd,eee</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie werden „FOR XML PATH' und „STUFF' kombiniert, um Daten in SQL Server zu verketten?. 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