sqlserver 同字段值拼接 列转行

Posted 子目枫林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 同字段值拼接 列转行相关的知识,希望对你有一定的参考价值。

--******************************************************************************************* 
表结构,数据如下:  
id    value  
----- ------  
1    aa  
1    bb  
2    aaa  
2    bbb  
2    ccc  
  
需要得到结果:  
id    values  
------ -----------  
1      aa,bb  
2      aaa,bbb,ccc  
即:group by id, 求 value 的和(字符串相加)  

 

create table tb(id int, value varchar(10))  
insert into tb values(1, \'aa\')  
insert into tb values(1, \'bb\')  
insert into tb values(2, \'aaa\')  
insert into tb values(2, \'bbb\')  
insert into tb values(2, \'ccc\')  
go  
  
select id, [values]=stuff((select \',\'+[value] from tb t where id=tb.id for xml path(\'\')), 1, 1, \'\')  
from tb  
group by id  
  
/*  
id          values  
----------- --------------------  
1          aa,bb  
2          aaa,bbb,ccc  
  
(2 row(s) affected)  
  
*/  
  
drop table tb

 

 

最全介绍参考:https://www.cnblogs.com/yasuo2/p/6433697.html

以上是关于sqlserver 同字段值拼接 列转行的主要内容,如果未能解决你的问题,请参考以下文章

oracle 结果集行转列,多行数据转为一行显示,第一列内容拼接生成字段名

SQL Server中动态列转行

sqlserver列转行

数据库行转列列转行字段拼接

SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行

sqlserver中怎么将一列数据拼接成一个字符串