【发布时间】:2023-03-28 02:50:02
【问题描述】:
我有很多用逗号合并值的解决方案。 我有一些用逗号合并 id 的棘手要求。我在一个表中有大约 10 列。例如。
declare @t1 TABLE (id INT, NAME VARCHAR(MAX), address1 varchar(max), mobileno varchar(max));
INSERT @t1 values (1,'100',null,'1111111111');
INSERT @t1 values (2,'100','pune','1111111111');
INSERT @t1 values (3,'200',null,null);
INSERT @t1 values (4,'300','pune',null);
INSERT @t1 values (5,'200',null,'1111111111');
SELECT
STUFF((
SELECT ','+CAST(ID AS VARCHAR(10)) [text()]
FROM @t1 as B
WHERE B.NAME = A.NAME
FOR XML PATH('')),1,1,'') as ID, NAME, address1, mobileno
FROM @t1 as A
GROUP BY NAME, address1, mobileno
例如。
ID | Value
---+-------
1 | 100
2 | 100
3 | 200
4 | 200
5 | 300
我需要像这样的输出
ID | Value
---|------
1,2| 100
3,4| 200
5| 300
【问题讨论】:
-
这并不罕见。谷歌:SQL Server 字符串聚合。
标签: sql sql-server-2014 string-aggregation