合并:
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 零售单号
拆分前:

拆分后:

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

404

被折叠的 条评论
为什么被折叠?



