使用 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中文網其他相關文章!