sql - String_agg 模拟
问题描述
您好我正在使用 SQL Server 2014,并且正在尝试使用文本列。我知道有一个新函数 STRING_AGG 可以使用分隔符连接多个列,但是 STRING_AGG 函数适用于 SQL Server 2017 及更高版本。请帮助我进行等效查询以实现此目的。附件是我的数据样子。我期待这样的结果
案例表:
CASES
--------
CS03972981
CS03245184
CS04054200
CS02808145
CS01618494
CS03873177
COMMENTS_TABLE:
CASES COMMENTS
---------- ---------
CS03972981 ABC
CS03972981 ABC1
CS03972981 ABC2
CS03972981 ABC3
CS03245184 DEF
CS03245184 DEF1
CS03245184 DEF2
CS04054200 GHI
CS02808145 JKL
CS01618494 MNO
CS01618494 MNO1
CS01618494 MNO2
CS01618494 MNO3
CS01618494 MNO4
CS03873177 PQR
结果表:
CS03972981 ABC,ABC1,ABC2,ABC3
CS03245184 DEF,DEF1,DEF2
CS04054200 GHI
CS02808145 JKL
CS01618494 MNO,MNO1,MNO2,MNO3,MNO4
CS03873177 PQR
欣赏,克里希纳。
解决方案
您需要使用 XML 方法:
select c.*,
stuff( (select ',' + co.comments
from comments co
where co.cases = c.cases
for xml path('')
), 1, 1, ''
) as all_comments
from cases c;
推荐阅读
- angular - 如何删除当前点击的html div标签角4
- ios - 在 TableView 上添加搜索栏但没有响应
- replace - 同时替换多个列值
- android - Retrofit2 未找到任何改造注释。(参数#1)
- python - 如何使用 MinMaxScaler sklearn 标准化训练和测试数据
- asp.net - IIS - 可以使用 localhost 访问端口 8080 的网站,但不能使用外部 IP 地址
- c# - 在 mvc 视图模型中获取当前操作
- android - 单击我正在调用异步任务的按钮时出错?
- ionic-framework - 如何使用 Ionic 3 永久保存数据?
- ios - 无法将“__NSCFNumber”(0x111189058)类型的值转换为“NSString”错误