源数据:
[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, '')