首頁 >資料庫 >mysql教程 >如何使用 FOR XML PATH() 連接 T-SQL 中多個記錄的欄位?

如何使用 FOR XML PATH() 連接 T-SQL 中多個記錄的欄位?

Patricia Arquette
Patricia Arquette原創
2025-01-15 07:58:46242瀏覽

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

使用 FOR XML PATH() 在 T-SQL 中連接多個記錄的欄位

在您的特定場景中,您有多個資料表存在多對多關係,您可以使用子查詢和 FOR XML PATH() 函數來連接所需的欄位。以下是實現預期結果的方法:

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

此查詢首先連接 @Reviews、@Reviewers 和 @Users 表以建立統一的資料集。然後,它使用子查詢為每個關聯的 ReviewID 從 @Users 中選擇 FName 欄位。 FOR XML PATH() 函數將這些 FName 值連接成一個逗號分隔的字串。

最後,產生的連接字串將會被指派給主 SELECT 語句中的「Users」欄位。輸出如下圖所示:

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

以上是如何使用 FOR XML PATH() 連接 T-SQL 中多個記錄的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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