Heim >Datenbank >MySQL-Tutorial >Wie werden „FOR XML PATH' und „STUFF' kombiniert, um Daten in SQL Server zu verketten?
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>
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>
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>
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>
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!