Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich durch Kommas getrennte Listen mit Mitarbeiternamen nach Abteilung in SQL Server?
Diese SQL Server-Abfrage erstellt effizient durch Kommas getrennte Listen mit Mitarbeiternamen, geordnet nach Abteilung, aus der Tabelle EMP
. Der Prozess nutzt geschickt Unterabfragen und String-Manipulationstechniken.
Eine in die FOR XML PATH('')
-Klausel eingebettete Unterabfrage sammelt Mitarbeiternamen für jede Abteilung. Diese Verkettung erfolgt ohne XML-Tags und erzeugt ein XML-Fragment, das alle Mitarbeiternamen für eine bestimmte Abteilung enthält. Dieses Fragment wird in der Variablen allemp
gespeichert.
Als nächstes ersetzt die Funktion REPLACE
Leerzeichen innerhalb der Zeichenfolge allemp
durch Kommas und wandelt sie in die gewünschte durch Kommas getrennte Liste um. Das Endergebnis, gruppiert nach deptno
, liefert eine einzelne Zeile pro Abteilung, in der die durch Kommas getrennten Mitarbeiternamen angezeigt werden.
Hier ist die Ausgabe:
<code>deptno allemp 10 CLARK,KING,MILLER 20 SMITH,JONES,SCOTT,ADAMS,FORD 30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES</code>
Die FOR XML PATH('')
-Klausel generiert ohne expliziten Alias das XML-Fragment, ohne Tags einzuschließen. Für eine robustere Handhabung spezieller XML-Zeichen sollten Sie das Schlüsselwort TYPE
hinzufügen (wie im Anhang gezeigt), um eine ordnungsgemäße Escapezeichenierung sicherzustellen.
Diese Methode bietet eine praktische Lösung zum Generieren von durch Kommas getrennten Listen, die für den Datenexport oder die Berichtserstellung nützlich sind.
Das obige ist der detaillierte Inhalt vonWie erstelle ich durch Kommas getrennte Listen mit Mitarbeiternamen nach Abteilung in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!