sql server group by 后面跟 FOR xml path ( '' )

 

Group by 后面的字段要与select后面的字段匹配,即select后面包含有哪些字段,group by后面就应该有哪些字段——聚合涵数除外。拼接字段如concat、iif、isnull等里边的字段也要放到group by后面才不会报错。

for xml path('') 会将group by的查询结果拼接在一起,如有concat之类的拼接字段,不输出xml的就不要起别名,如下图中给拼接字段起了别名,出来就有xml标记,不起别名就不会有。

 

SELECT
',' + 'max(t.[' + name + '])as[' + name + ']' + ''
FROM
rp_provider
WHERE
state = 0
GROUP BY
[name] FOR xml path ( '' )

posted @ 2022-09-13 16:39  南夏啊南夏  阅读(598)  评论(0编辑  收藏  举报