在SQLServer中合并字段值的实例

表如下:



如何获得以下结果:



解决方案

使用XML转换

代码如下:

复制代码代码如下所示:
创建表的身体



ID int,

身为nvarchar(20)





插入身体的值(1,'aaaa)

插入身体的值(2,'bbbb)

插入身体的值(1,cccccc)

插入身体的值(3,ddddd)



从身体中选择*

选择不同的张,东西((选择',' +体体id是张XML)),)





具体的想法是这样的:

选择',' +体体id是张XML路径()

这句话的功能是找到ID =张在体表的所有记录中根据ID并将其转换为XML。

东西((选择',' +体体id是张XML路径(')),1,1,)

这个语句的功能是在生成的XML前面去掉一个逗号,并将其转换为标量值。

-最后,使用一个明确的来删除重复的记录