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,'')本回答被网友采纳

SQL SERVER 如何把1列多行数据 合并成一列显示,具体格式如下:
把得到的内容以XML的形式显示 for xml path('')把拼接的内容的第一个“,”去掉 stuff((select ',' + ep_name from ep_detail where ep_classes = a.ep_classes for xml path('')), 1, 1, '')

如何把SQL Server多行查询结果合并在一行中
如果你要取的值是AdminName, 表应该还有一个标识来做复合组键, 就是最最终想要结果的col title(admin1, admin2).假如结构如下:可以用sql server 的pivot功能来做行转列.如下代码.select SiteId, SiteName, [Admin1], [Admin2]from #temp pivot(max(AdminName) for AdminId in ([Admin1], [...

sql数据库中,如何将一个表中的多列数字合并为一列
在不同的数据库有不同的方法:在mysql中是使用concat(str1,str2,...).例:SELECT CONCAT('My', 'S', 'QL');结果:MySQL oracle 使用||号.select 'abc' || 'def' from dual;结果:adbdef 一般情况下,我们将由不同栏位获得的资料串连在一起,每一种资料库都有提供方法来达到这个目的:My...

SQL语句-如何拼接多列的值?
1、插入数据 这里以MySQL数据库为例,插入原始数据用于后续实验。其他数据库的插入语法可能略有差异,请自行调整。2、在MySQL中进行串联拼接 使用concat函数进行字段拼接,语法如下:对表中的name、age字段进行拼接:结果:3、在PostgreSQL、Oracle中进行串联拼接 使用||符号进行字段拼接,语法如下:对表中的...

...sql server两表间一对多的关系,如何数据整合到一行数据中,问题举 ...
SQL SERVER 2005+实现行列互转可以用PIVOT和UNPIVOT 这个是实现:SELECT * FROM (SELECT sc.student_id,st.name,curse_name,score FROM student st JOIN score sc ON st.id=sc.student_id) AS T PIVOT(SUM(score) FOR curse_name IN (语文,数学)) AS P 不过这不是最完整的解决方案,假设你...

SQL Server把某一列多行的值拼接成一个字符串 的原理是什么
SQL Server 自定义函数(1)把某一列多行的值拼接成一个字符串 DECLARE @resultstr VARCHAR(8000)SET @resultstr=''SELECT @resultstr=@resultstr+'|'+[BaseImage] FROM dbo.life_fc PRINT @resultstr 示例2 DECLARE @imgColleciton VARCHAR(8000),@BaseID INT,@value VARCHAR(5000),@citcode...

SQL中怎么能把同一个数据的多个属性显示到一列
你这个是 多行转换为 一行的情况.SQL Server 2005+版本的, 使用 FOR XML 方式处理。Oracle 使用 WMSYS.WM_CONCAT 函数 的方式进行处理 MySQL 使用 GROUP_CONCAT 函数 的方式进行处理 具体例子 见参考资料 参考资料:http:\/\/hi.baidu.com\/wangzhiqing999\/blog\/item\/a57d1a86009e439ff703a67a....

sql server 多行时间合并成一行 每隔五分钟 不知道怎么写了 请教下各...
由于情况描述得不具体,希望这种方式符合你的要求。取分钟,对5取余,等于0的记录保留。select * from tablename where datepart(minute, timetag) % 5 = 0

sql中如何将多列用一点合并成一列查询出
select (segment1(01)+'.'+segment2(01-02-03)+'.'+segment3(0000)) as 别名

sql server数据库如何将多列数据转化成一行
select name,‘语文’, sum(case when obj=‘语文’ then score end) score1 数学自己写 英语自己写 from table group by name

相似回答