我正在使用t-sql处理sqlserver中的以下问题,遇到了一些障碍。
我希望将多行文本连接成一行(下面的文本列),基于 personID
.
例如,如果我的原始数据是:
PersonID Text Line Number
-----------------------------------------------
A The woman went to 1
A the zoo, 2
A then went home. 3
B A man went to 1
B the aquarium, 2
B spoke to 3
B the fish, 4
B then got an ice cream. 5
C People love 1
C football. 2
我需要输出为:
PersonID Text
Line Number
-------------------------------------------------------------------------------
A The woman went to the zoo, then went home. 1
B A man went to the aquarium, spoke to the fish, then got an ice cream. 1
C People love football. 1
原始数据文本行的数量因人而异,我无法找到解决方案(例如,人员a=3,人员b=5,人员c=2)。
任何帮助都将不胜感激!
2条答案
按热度按时间7vhp5slm1#
如果您使用的是sql server 2017或更高版本,则可以使用字符串\u agg(),如下所示:
如果没有,那么使用for xml也可以:
92vpleto2#