DECLARE @STR VARCHAR(MAX) SELECT @STR=ISNULL(@STR+',','')+b FROM (SELECT DISTINCT b FROM 表)AS T SELECT @STR
注意:@STR不能赋初值, 否则前面会多一个 ','
——————————————————————————————————————————
更强悍的招数:
if not object_id('tb') is null drop table tb Go Create table tb([A] int,[B] nvarchar(1)) Insert tb select 1,N'a' union all select 2,N'b' union all select 3,N'c' Go Select distinct stuff((select ','+[B] from tb for xml path('')),1,1,'') from tb t
一行代码搞定, 不得不叹服!!