首页 / 问答 / SQL Server数据库中如何将一个字段的多行记录用逗号连接成一行数据呢?

SQL Server数据库中如何将一个字段的多行记录用逗号连接成一行数据呢?

0

在SQL Server数据库中,假如一张数据表中有一个名为Name的列/字段,这个列有多行记录,现需要将这一列的数据使用逗号进行连接,组成一行以逗号连接的字符串,模拟数据如下:

Name
-------------
Mary
John
Sam
Alaina
Edward

期望得到的使用逗号连接的字符串为:

Mary,John,Sam,Alaina,Edward

使用SQL查询脚本应该如何实现呢?

回复 [×]
提交评论
请输入评论内容

4 个回答

  • 0

    在低版本(如:SQL Server 2005)的数据库中,可以使用FOR XML PATH()语法,示例如下:

    在高版本(如:SQL Server 2016)的数据库中,可以使用FOR JSON PATH语法,示例如下:

    Rector的个人主页

    Rector

    2020-04-29 回答

    • 0

      这里提供一种可按某个列/字段分组然后使用逗号连接其他列的实现方法,如下:

      表名为Students,模拟数据如下:

      查询语句如下:

      Rector的个人主页

      Rector

      2020-04-29 回答

      • 0

        使用COALESCE函数,如下:

        Rector的个人主页

        Rector

        2020-04-29 回答

        • 0

          如果使用的是SQL Server 2017+版本,还可以使用STRING_AGG函数,比如:

          不分组(无GROUP BY)

          分组(有GROUP BY)

          分组并进行子查询排序

          Rector的个人主页

          Rector

          2020-04-29 回答

          我来回答