首页 > 解决方案 > 基于序列号的concat

问题描述

我正在尝试根据单独的字段和序列号连接文本字段。对于此示例,假设我拥有的字段是员工 ​​ID、序列号和评论。评论字段受一定数量的字符限制,因此同一员工 ID 可以有多个按序列号排序的评论字段。我想为每个员工 ID 获取 1 行,并将所有评论合并为一个。

当前数据

预期数据

标签: sqltsql

解决方案


假设 SQL Server 2017 或更高版本,请使用string_agg

SELECT Employee_Id, 
       1 As Sequence, 
       STRING_AGG(Comment, CHAR(10)+CHAR(13)) WITHIN GROUP (ORDER BY Sequence)
FROM TableName
GROUP BY Employee_Id

对于较低版本,请使用 和 的组合for xmlstuff就像在这篇文章中一样。


推荐阅读