【发布时间】:2021-01-04 07:41:47
【问题描述】:
我想要实现的是每个 DISTINCT 名称值的所有 DISTINCT 姓氏值的串联。
我所管理的是 DISTINCT 名称值的串联,但不幸的是所有姓氏值。
下面是我的代码:
SELECT DISTINCT ST2.[Name],
SUBSTRING(
(
SELECT ','+ST1.Surname AS [text()]
FROM [Ext_Names] ST1
WHERE ST1.[Name] = ST2.[Name]
ORDER BY ST1.[Name]
FOR XML PATH ('')
), 2, 1000) [Surname]
FROM [Ext_Names] ST2
样本数据
结果
期望的输出
【问题讨论】:
-
仅供参考,如果您的列表长度超过 1000 个字符,这将截断您的数据。与其使用
SUBSTRING取最右边的字符,不如使用STUFF删除第一个字符。
标签: sql-server string tsql group-by distinct