Heim > Datenbank > MySQL-Tutorial > Wie verkette ich Felder aus mehreren Datensätzen in T-SQL mit FOR XML PATH()?

Wie verkette ich Felder aus mehreren Datensätzen in T-SQL mit FOR XML PATH()?

Patricia Arquette
Freigeben: 2025-01-15 07:58:46
Original
285 Leute haben es durchsucht

How to Concatenate Fields from Multiple Records in T-SQL Using FOR XML PATH()?

Verwenden Sie FOR XML PATH(), um Felder mehrerer Datensätze in T-SQL zu verbinden

In Ihrem speziellen Szenario, in dem Sie über mehrere Tabellen mit einer Viele-zu-Viele-Beziehung verfügen, können Sie eine Unterabfrage und die Funktion FOR XML PATH() verwenden, um die erforderlichen Felder zu verknüpfen. So erzielen Sie das gewünschte Ergebnis:

<code class="language-sql">SELECT  *,
        ( 
            SELECT  u.FName + ', '
            FROM    @Users u INNER JOIN 
                    @Reviewers rs ON u.UserID = rs.UserID
            WHERE   rs.ReviewID = r.ReviewID
            FOR XML PATH('')
        ) AS Users
FROM    @Reviews r</code>
Nach dem Login kopieren

Diese Abfrage verknüpft zunächst die Tabellen @Reviews, @Reviewers und @Users, um einen einheitlichen Datensatz zu erstellen. Anschließend wird eine Unterabfrage verwendet, um die FName-Spalte aus @Users für jede zugehörige ReviewID auszuwählen. Die Funktion FOR XML PATH() verkettet diese FName-Werte zu einer durch Kommas getrennten Zeichenfolge.

Abschließend wird die generierte Verbindungszeichenfolge der Spalte „Benutzer“ in der Haupt-SELECT-Anweisung zugewiesen. Die Ausgabe sieht so aus:

<code>ReviewID    ReviewDate          Users
1           2009-01-12          Bob, Joe, Frank
2           2009-01-25          Sue, Alice</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verkette ich Felder aus mehreren Datensätzen in T-SQL mit FOR XML PATH()?. 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