T-SQL: Kombinieren von Benutzernamen aus mehreren Bewertungen
Das Zusammenfassen von Daten aus mehreren zusammengehörigen Tabellen in einer einzigen, durch Kommas getrennten Zeichenfolge ist eine häufige Anforderung bei der Datenbankverwaltung. Dieses Beispiel zeigt einen T-SQL-Ansatz, um dies zu erreichen, insbesondere für eine Viele-zu-Viele-Beziehung zwischen Rezensionen, Prüfern und Benutzern.
Eine prägnante Lösung mithilfe einer Unterabfrage bietet eine effektive Methode:
<code class="language-sql">SELECT r.ReviewID, r.ReviewDate, ( SELECT u.FName + ',' FROM @Users u INNER JOIN @Reviewers rs ON u.UserID = rs.UserID WHERE rs.ReviewID = r.ReviewID FOR XML PATH('') ) AS UserNames FROM @Reviews r</code>
Hier ist eine Aufschlüsselung:
@Reviews
: In dieser Tabelle werden Bewertungsdetails (ReviewID, ReviewDate) gespeichert.@Reviewers
: Diese Tabelle verknüpft Rezensionen und Rezensenten (Rezensenten-ID, Rezensions-ID, Benutzer-ID).@Users
: Diese Tabelle enthält Benutzerinformationen (Benutzer-ID, FName, LName).SELECT
-Anweisung verbindet @Users
und @Reviewers
, um die Vornamen (FName
) abzurufen, die jeder Bewertung zugeordnet sind.FOR XML PATH('')
verkettet die FName
-Werte effizient zu einer einzelnen Zeichenfolge, getrennt durch Kommas.Diese Abfrage gruppiert die Ergebnisse nach ReviewID
und erzeugt eine konsolidierte Ausgabe, in der jede Bewertung durch eine einzelne Zeile dargestellt wird, einschließlich ihrer ReviewID
, ReviewDate
und einer durch Kommas getrennten Liste der zugehörigen Benutzervornamen. Dies geht direkt auf die Notwendigkeit ein, mehrere Benutzernamen, die sich auf jede Bewertung beziehen, in einem einzigen Datensatz zusammenzufassen.
Das obige ist der detaillierte Inhalt vonWie gruppiert und verkettet man Benutzernamen, die mehreren Bewertungen in T-SQL zugeordnet sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!