sql - 基于序列号的concat
问题描述
我正在尝试根据单独的字段和序列号连接文本字段。对于此示例,假设我拥有的字段是员工 ID、序列号和评论。评论字段受一定数量的字符限制,因此同一员工 ID 可以有多个按序列号排序的评论字段。我想为每个员工 ID 获取 1 行,并将所有评论合并为一个。
解决方案
假设 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 xml
,stuff
就像在这篇文章中一样。
推荐阅读
- windows - 在 Windows 中使用 CMake (mingw) 在 Qt5.14.0 静态中未定义的引用
- cmake - 当使用子目录为每个目标构建依赖项时,CMake 找不到外部库
- java - 如何将数组列表中的每个元素递增 n 个元素?
- sql - SQL - 聚合一些列并将 id 映射到特定列
- python - 如何在 google collab 的后台运行 python 脚本?
- imessage - 在没有好友 ID 的情况下使用 OsaScript 发送 Imessage
- java - 为什么在创建唯一 ID 时 C++ 的运行速度比 Java 慢一些?
- python - 从另一个数据框中添加值
- c++ - NULL 是有效的 FILE* 吗?
- python - 我应该在 Python 中有一个单独的导入文件吗?什么是最佳实践?