select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用逗号隔开
参考 http://blog.csdn.net/rolamao/article/details/7745972
分割“版区负责人Id”,使其结果为版区Id版区负责人Id612364566789(这里,我想来想去,只有使用零时表+游标来实现,个人没有想到更好的方法)CREATEFUNCTION[dbo].[fun_Split](@strVARCHAR(MAX),@splitVARCHAR(10))RETURNSTABLEASRETURN(SELECTB.idFROM(SELECT[value]=CONVERT(XML,''+REPLACE(@str,@split,'')+''))AOUTERAPPLY(SELECTid=N.v.value('.','varchar(100)')FROMA.[value].nodes('/v')N(v))B)GO--2005以及以上的版本支持这种分割写法。用xmlpath,把数据搞成你所要的结果
select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用逗号隔开
sqlserver中怎么将一列数据拼接成一个字符串,并以换行符分开
select W, X = (stuff((select ',' + X from table where W = a.W for xml path('')),1,1,'')) from table a group by W
-- 将W相同的X列拼接成一个字符串用逗号隔开