源数据:
[img]http://dl2.iteye.com/upload/attachment/0091/6343/1a782bb4-9c31-3c36-9950-352cba28643a.png[/img]
要转换成
[img]http://dl2.iteye.com/upload/attachment/0091/6345/a945b5fd-11f6-3d26-9de1-ba30d172e8df.png[/img]
解决方案:
SELECT [1] AS c1,[2] AS c2,[3]
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY SUBSTR) AS id , * FROM cis.dbo.mysplit('12-23-34','-')
) pvt
PIVOT
(
MAX(pvt.substr) FOR id IN ([1] ,[2],[3])
) p
----------------
第二种方案
select stuff((SELECT ',' + diagnose_info FROM inhos_diagnose AS t WHERE t.inhos_id = 17 and t.pri>0 FOR xml path('')), 1, 1, '')
[img]http://dl2.iteye.com/upload/attachment/0091/6343/1a782bb4-9c31-3c36-9950-352cba28643a.png[/img]
要转换成
[img]http://dl2.iteye.com/upload/attachment/0091/6345/a945b5fd-11f6-3d26-9de1-ba30d172e8df.png[/img]
解决方案:
SELECT [1] AS c1,[2] AS c2,[3]
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY SUBSTR) AS id , * FROM cis.dbo.mysplit('12-23-34','-')
) pvt
PIVOT
(
MAX(pvt.substr) FOR id IN ([1] ,[2],[3])
) p
----------------
第二种方案
select stuff((SELECT ',' + diagnose_info FROM inhos_diagnose AS t WHERE t.inhos_id = 17 and t.pri>0 FOR xml path('')), 1, 1, '')
本文介绍两种使用SQL进行数据转换的方法。第一种方法通过PIVOT函数实现特定格式的数据转换;第二种方法利用STUFF与FOR XML PATH函数组合实现字符串拼接。这两种方法适用于不同场景的数据处理需求。
6672

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



