首页 >数据库 >mysql教程 >如何使用 FOR XML PATH() 连接 T-SQL 中多个记录的字段?

如何使用 FOR XML PATH() 连接 T-SQL 中多个记录的字段?

Patricia Arquette
Patricia Arquette原创
2025-01-15 07:58:46240浏览

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