SqlServer2005 查询数据,将多行合并为一行,并按指定顺序排序
SELECT *
FROM (SELECT DISTINCT [分组字段名] FROM [表名] ) A OUTER APPLY(
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。SELECT [values]= STUFF(REPLACE(REPLACE(
(
SELECT [合并字段名] FROM [表名] N
WHERE [分组字段名] = A.[分组字段名]
FOR XML AUTO
), '<N 合并字段名="', ','), '"/>', ''), 1, 1, '')
)N order by CHARINDEX(RTRIM(CAST([分组字段名] as NCHAR)),'1,2,3') desc //1,2,3为指定的排序顺序,真实顺序为3,2,1,使用倒序的目的是使指定的顺序的结果显示在前面,没出现在顺序中的数据排在后面

更多精彩