SQLServer 按列拆分与合并

本文介绍了如何在SQLServer中进行数据列的拆分与合并操作。首先展示了合并前的数据状态,接着演示了如何将数据进行有效合并。随后,文章详细解释了拆分过程,包括拆分前的数据格式,并最终呈现了拆分后的结果。通过这些实例,读者可以掌握在SQLServer环境下处理列拆分与合并的方法。

合并:


		SELECT
			款号, 搭配池= LEFT (
				( SELECT 搭配池 + ',' FROM test_dpool AS b WHERE b.款号 = a.款号 FOR xml path ( '' ) ),
				len( ( SELECT 搭配池 + ',' FROM test_dpool AS b WHERE b.款号 = a.款号 FOR xml path ( '' ) ) ) - 1 
			) -----按款号合并搭配池,逗号分隔
			
		FROM
			test_dpool AS a 
		GROUP BY
			款号 

合并前原数据为:
在这里插入图片描述
合并后:
在这里插入图片描述

拆分

	SELECT
		a.零售单号,
		a.款号,
		搭配池= SUBSTRING ( a.搭配池, b.number, charindex( ',', a.搭配池 + ',', b.number ) - b.number ) 
	FROM
		[aaa] a
		JOIN master..spt_values b ON b.type= 'P' 
	WHERE
		charindex( ',', ',' + a.搭配池, b.number ) = b.number --order by 零售单号


拆分前:
在这里插入图片描述

拆分后:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值