实例: 利用数据库STUFF函数把左边格式变成右边格式?
纯学习过程记录,非专业技术性文章,仅供参考学习。
工作中需要把上述表格中左边的转换成右边的格式,且数据量较多,大概5千行左右,请教体验师群中大神后,指导用stuff函数来实现,
以下为过程分享
–STUFF拼接表内容
--创建数据表 CREATE TABLE A_Temp( Fname VARCHAR(200), pinlei VARCHAR(200) ) --导入数据 自己利用数据库导入功能直接从EXCEL表导入数据库,此处不再描述 INSERT INTO A_Temp VALUES ( '客户A', '产品类型1' ), ( '客户A', '产品类型2' ), ( '客户A', '产品类型3' ), ( '客户A', '产品类型4' ), ( '客户B', '产品类型1' ), ( '客户B', '产品类型2' ), ( '客户B', '产品类型3' ), ( '客户C', '产品类型1' ), ( '客户C', '产品类型2' ), ( '客户C', '产品类型3' ), ( '客户C', '产品类型4' ), ( '客户C', '产品类型5' ), ( '客户C', '产品类型6' ), ( '客户D', '产品类型1' ), ( '客户D', '产品类型2' ), ( '客户D', '产品类型3' ), ( '客户D', '产品类型4' ), ( '客户D', '产品类型5' ) SELECT * FROM dbo.A_Temp --利用stuff产生需要的数据 SELECT t1.Fname, STUFFpinlei = STUFF((SELECT ',' + t11.pinlei FROM A_Temp t11 WHERE t11.Fname=t1.Fname FOR XML PATH('')), 1, 1, '') FROM A_Temp t1 GROUP BY t1.Fname