T-SQL 合并多行数据显示到一行

Posted wsion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了T-SQL 合并多行数据显示到一行相关的知识,希望对你有一定的参考价值。

思路:

自连接,使用For XML Path(‘‘)和STUFF函数

SELECT * FROM STUDENT

Name                      Team
------------------------- -------------------------
Jack                      Team1
Rose                      Team1
Cindy                     Team1
Richard                   Team2
Jenny                     Team2

 

SELECT
        T1.Team,
        STUFF((
                SELECT 
                    CONCAT(/,T2.Name)
                FROM
                        STUDENT T2
                WHERE 
                        T2.Team=T1.Team
                FOR XML PATH(‘‘)
            ),1,1,‘‘)
        AS NAMES
FROM 
        STUDENT T1
GROUP BY 
        T1.Team 

Team                      NAMES
------------------------- ---------------------------------------------------------

Team1                     Jack/Rose/Cindy
Team2                     Richard/Jenny

以上是关于T-SQL 合并多行数据显示到一行的主要内容,如果未能解决你的问题,请参考以下文章

求助,oracle多行数据合并成一行

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)

怎样将多行数字合并到一行中?

在 T-SQL 中将多行转换为具有多列的一行

合并多行查询数据到一行:使用自连接FOR XML PATH('')STUFF或REPLACE函数

sql查询 ,多行数据合并成一行,并且显示合并后某一列的值拼接结果