如何将一列中所有的值 一行显示(SQL)

/*如何将一列中所有的值一行显示
数据源
  a
  b
  c
  d
  e
结果
a,b,c,d,e
*/

create table tb(col varchar(20))
insert tb values ('a')
insert tb values ('b')
insert tb values ('c')
insert tb values ('d')
insert tb values ('e')
insert tb values ('a')
insert tb values ('b')
go


-- 剔除重复
DECLARE @STR VARCHAR(8000)
SELECT @STR=ISNULL(@STR+',','')+ col FROM (SELECT DISTINCT col  FROM tb )AS T
SELECT @STR

-- 不剔除重复
declare @s varchar(8000)
select @s=isnull(@s +',','')+ col from tb
print @s



drop table tb
原文地址:https://www.cnblogs.com/chengulv/p/1716701.html