sql - 将多行连接到一行
问题描述
我有以下数据,我必须连接长文本列并将其作为单行。挑战部分只有一行有通知号,其他行为空。您不能按通知编号分组。
我需要输出为 2 行
row number Notification Number Plant Creation Date Language Lineno Tag Long Text
1 10014354914 A057 43466 EN 1 >X aaabbbcccdddeeefffggghhhjjjkkklll
2 10014354915 A057 43466 EN 1 >X aaabbbcccdddeeefffgggpppqqqrrrsss
我为此使用了游标。但这需要很多时间。
解决方案
如果您使用的是 oracle:
with data("row number", "Notification Number","Plant","Creation Date","Language","Lineno","Tag","Long Text") as (
select 1,10014354914,'A057',43466,'EN',1,'>X','aaabbbcccdddeeefffggghhhjjjkkklll' from dual
union all
select 2,10014354915,'A057',43466,'EN',1,'>X','aaabbbcccdddeeefffgggpppqqqrrrsss' from dual)
select LISTAGG("Long Text",'') within group (order by "row number") from data;
如果您使用的是 ms-sql,可以试试这个:
SELECT u.[Long Text] AS [text()]
FROM yourtable u
ORDER BY u.[row number]
FOR XML PATH ('')
推荐阅读
- vba - 导出 PowerPoint 幻灯片
- linux - 在linux中为.net Core(Docker)编写txt文件
- sql-server - 我怎样才能有 CTE 的身份列
- python - 当试图用日期对浮点数绘制时间序列数据时,我在 xaxis 中收到数字而不是日期
- mysql - 在标记上拆分字符串并在拆分词上聚合
- unity3d - 为什么 Unity Android 游戏中的精灵模糊?
- python - 通过按钮将变量从 HTML 传递到 Flask,将类型更改为字符串
- canvas - 如何在动画中使用 imageData
- amazon-ec2 - AWS EC2 端点可以用作 Google Home 的端点吗?
- android - EditText ,输入的文本不完整可见