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