修改前: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, '')
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))
select stuff((select ','+title from tb for xml path('')),1,1,'')