首頁 >資料庫 >mysql教程 >如何在 T-SQL 中對與多個評論相關的使用者名稱進行分組和連接?

如何在 T-SQL 中對與多個評論相關的使用者名稱進行分組和連接?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-15 09:23:43783瀏覽

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

T-SQL:組合來自多個評論的使用者名稱

將多個相關表中的資料聚合到一個以逗號分隔的字串中是資料庫管理中的常見需求。 此範例示範了實現此目的的 T-SQL 方法,特別是針對評論、審閱者和使用者之間的多對多關係。

使用子查詢的簡潔解決方案提供了一個有效的方法:

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

這是一個細分:

  • @Reviews:此表儲存評論詳細資訊(ReviewID、ReviewDate)。
  • @Reviewers:此錶鍊結評論和評論者(ReviewerID、ReviewID、UserID)。
  • @Users:此表包含使用者資訊(UserID、FName、LName)。
  • 內部 SELECT 語句連接 @Users@Reviewers 以檢索與每個評論相關的名字 (FName)。
  • FOR XML PATH('') 有效地將 FName 值連接成單一字串,並以逗號分隔。

此查詢按 ReviewID 對結果進行分組,產生一個合併輸出,其中每個評論由單行表示,包括其 ReviewIDReviewDate 以及以逗號分隔的關聯用戶名字列表。 這直接解決了將與每個評論相關的多個使用者名稱合併到單一記錄中的需要。

以上是如何在 T-SQL 中對與多個評論相關的使用者名稱進行分組和連接?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn