实例: 利用数据库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

Blog.XiaoMing.Xyz





