SQL server 数据库中,如何将分组后元素用逗号隔开并作为一条记录?
如上图所示,从表T1转换到表T2。按T1中MID分组,分组后每组元素用逗号隔开并作为一条记录存放到表T2中,而且去除重复的元素。我知道在Oracle中有现成的函数,但是不...
如上图所示,从表T1转换到表T2。按T1中MID分组,分组后每组元素用逗号隔开并作为一条记录存放到表T2中,而且去除重复的元素。我知道在Oracle中有现成的函数,但是不太清楚SQL Server如何操作。还得请大神帮忙,多谢啦!
展开
2个回答
展开全部
创建表及数据
create table t1
(mid int,
uid varchar(1))
insert into t1 values (1,'a')
insert into t1 values (1,'b')
insert into t1 values (1,'b')
insert into t1 values (1,'c')
insert into t1 values (1,'d')
insert into t1 values (2,'a')
insert into t1 values (2,'b')
insert into t1 values (2,'c')
insert into t1 values (2,'c')
insert into t1 values (3,'a')
insert into t1 values (3,'b')
insert into t1 values (3,'c')
insert into t1 values (3,'c')
执行
select mid, items=stuff((select ','+uid from (select distinct mid,uid from t1) t where mid=s.mid for xml path('')), 1, 1, '')
from (select distinct mid,uid from t1) s
group by mid
结果
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询