【发布时间】:2020-10-15 09:57:18
【问题描述】:
我想要的是设法连接所有具有相同 ID 的前缀。
这是我使用的代码:
CTE_1 (ID,Prefix)AS (SELECT *, STUFF((
SELECT DISTINCT ', ' + Prefix
FROM CTE
WHERE ID = t.ID
FOR XML PATH('')), 1, 2, '')
FROM (
SELECT DISTINCT ID
FROM CTE
) t)
代码工作正常,但是当前缀为空时,它会导入 ,,我想避免它。
有什么想法吗?
SQL 版本:Microsoft SQL Server 2014
【问题讨论】:
-
“空”是什么意思?如果你的意思是
NULL,那就不会发生;', ' + NULL = NULL。如果您的意思是空字符串 (''),请在聚合字符串之前在WHERE中过滤掉这些行。 -
我添加了另一个 where 子句。谢谢拉努。
标签: tsql concatenation for-xml-path