将列数据拼接为一个字段表示

1.需求说明:将cpjlh拼接成集合,字段名为cpjlhjh

sql
	select a.HZDDH,c.CPJLH
	from cpcjddh a
	inner join cpcjdds c on a.djlsh =c.djlsh 
	inner join XTZHKZh x on c.cpjlh = x.YGH
	where c.djlsh='161945'

2.处理方法:

	select
	STUFF ((SELECT   ','+CPJLH  FROM  cpcjdds c  where c.DjLsh='161945' FOR XML PATH('')),1,1,'') CPJLHjh

3.分析
3.1 将列合并

SELECT   ','+CPJLH  FROM  cpcjdds c  where c.DjLsh='161945' FOR XML PATH('')

3.2 STUFF()函数去除首位逗号

	select
	STUFF ((SELECT   ','+CPJLH  FROM  cpcjdds c  where c.DjLsh='161945' FOR XML PATH('')),1,1,'') CPJLHjh

4.里面的重点是

SELECT   需要合并的字段+','  FROM  表      FOR XML PATH('')
`STUFF (source_string, start, length, add_string)`

参考:
SQL Server STUFF()用法及代码示例
sqlserver中怎么将一列数据拼接成一个字符串

posted @ 2022-06-10 15:12  ꧁༺星星的轨迹方程式༻꧂  阅读(81)  评论(0)    收藏  举报