MSSQL,需要将A字段相同的,它的C字段去重合并
表结构
table1
A:nvarchar(50) not null
C:nvarchar(max) null (包含多值,以逗号分割)
因为我的table1,是从多个表中抽取出来的数据,A很多是重复,但是C中的数据并不一样,
如果,A='Affected',则我需要将所有A='Affected'的C中的数据抽合并,并且去掉重复值.
或者是,选定长度最大的C,用后面的C去一个一个匹配,无,则拼接上去
[解决办法]
--2005及以上版本select A,stuff((select distinct ','+C from table1 where A=t.A for xml path('')),1,1,'') as Cfrom table1 tgroup by A
[解决办法]
--字段1 字段2--A 情报1--A 情报2--B 情报3--想获得以下结果--字段1 字段2--A 情报1,情报2--B 情报3 declare @t table (字段1 varchar(50), 字段2 varchar(50) )insert into @t values('A' ,'情报1')insert into @t values('A' ,'情报2')insert into @t values('B' ,'情报3') select 字段1,stuff((select ','+字段2 from @t where 字段1=t.字段1 for xml path('')),1,1,'') as 字段2 from @t t group by 字段1字段1 字段2-------------------------------------------------- ----------------------------------------------------------------------------------------------------------------A 情报1,情报2B 情报3(2 行受影响)