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>
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>
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!