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 结果集行转列,多行数据转为一行显示,第一列内容拼接生成字段名