原来的数据表的格式及需求如下:
-- SQL2005 新的解决方法 -- 示例数据
DECLARE @t TABLE
(
id INT,
value VARCHAR(300)
)
INSERT @t
SELECT synof,
AbbreviateName
FROM dbo.Species
WHERE synof > 0
-- 查询处理
SELECT *
FROM ( SELECT DISTINCT
id
FROM @t
) A
OUTER APPLY ( SELECT [values] = STUFF(REPLACE(REPLACE(( SELECT value
FROM @t N
WHERE id = A.id
FOR
XML AUTO
), '<N value="', ','),
'"/>', ''), 1, 1, '')
) N
运行结果