SQL Server实现group_concat功能

一、实现

#tmp表内容如下:

SQL Server实现group_concat功能_第1张图片

实现group_concat的sql语句为:

Select
  RegionID,
  STUFF(
       (
         SELECT?','?+?T.c1
         FROM?#tmp?T
         WHERE?A.regionid?=?T.regionid
         FOR?XML?PATH('')
       ),?1,?1,?''
     )?as?group_concat?
FROM?#tmp?A
Group?by??RegionID

实现效果如下:

SQL Server实现group_concat功能_第2张图片

二、原理分析

2.1、FORXMLPATH的作用

FORXMLPATH的作用是将查询结果集以XML形式展现,将多行的结果,展示在同一行,例如:

select?c1?from?#tmp?where?RegionID?=?41653

其结果集如下:

SQL Server实现group_concat功能_第3张图片

 
 

你可能感兴趣的:(面试,学习路线,阿里巴巴,sql,数据库,sqlserver,服务器,lucene)