Heim >Datenbank >MySQL-Tutorial >Wie gruppiert und verkettet man Benutzernamen, die mehreren Bewertungen in T-SQL zugeordnet sind?

Wie gruppiert und verkettet man Benutzernamen, die mehreren Bewertungen in T-SQL zugeordnet sind?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-15 09:23:43783Durchsuche

How to Group and Concatenate User Names Associated with Multiple Reviews in T-SQL?

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).
  • Die innere 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!

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