Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich durch Kommas getrennte Listen mit Mitarbeiternamen nach Abteilung in SQL Server?

Wie erstelle ich durch Kommas getrennte Listen mit Mitarbeiternamen nach Abteilung in SQL Server?

Susan Sarandon
Susan SarandonOriginal
2025-01-18 10:11:14344Durchsuche

How to Generate Comma-Delimited Lists of Employee Names by Department in SQL Server?

Generieren durch Kommas getrennter Mitarbeiterlisten pro 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!

Stellungnahme:
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