SQL SERVER 如何把1列多行数据 合并成一列显示,具体格式如下:

查询表:

id title

1 title1
2 title2
3 title3

要求现实:
title1,title2,title3

示例

修改前:1列多行数据


修改后:合并成一列


示例语句

select
类别,
    åç§° = (
        stuff(
            (select ',' + åç§° from Table_A where ç±»åˆ« = A.类别 for xml path('')),
            1,
            1,
            ''
        )
    )
from Table_A as A group by ç±»åˆ«


把得到的内容以XML的形式显示

for xml path('') 


把拼接的内容的第一个“,”去掉

stuff((select ',' + ep_name from ep_detail where ep_classes = a.ep_classes for xml path('')), 1, 1, '')

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-31

SQL SERVER 如何把1列多行数据 合并成一列显示:

多行转一列,通过(,)将数据和并成一列。

SQL SERVER 如何把1列多行数据 合并成一列显示的延伸:

unpivot()函数用法:unpivot( x for  x in ()),用法和privot类似。

例如:

转之前:SELECT code,name,type

FROM cd_data_dict 

转之后:SELECT code,name,typeFROM cd_data_dict unpivot (name for code in (code,name))

本回答被网友采纳
第2个回答  2014-10-25
select stuff((select ','+title from tb for xml path('')),1,1,'')本回答被网友采纳
相似回答