您的位置:首页 > 数据库

SQL——多行并成一行显示, 以字符串分隔(相当于C#中的join)

2011-12-31 23:08 302 查看
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


一行代码搞定, 不得不叹服!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: