求一条SQL语句,使字符串字段的内容加起来连成一个长字符串

a1n1 2010-12-27 09:26:30
比如一个表里面的数据是这样的
id ic
1 'aaaa'
2 'bbbb'
3 'cccc'
4 'dddd'
5 'eeee'
6 'ffff'
7 'gggg'
8 'hhhh'
定义一个变量
declare @chas varchar(255)
怎样用SQL语句得到@chas的值为:'aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh'
...全文
162 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a1n1 2010-12-28
  • 打赏
  • 举报
回复
多谢楼上,给分
dawugui 2010-12-27
  • 打赏
  • 举报
回复
/*如何将一列中所有的值一行显示
数据源
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')
go

--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.col + ',' from (select col from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*
result
----------
a,b,c,d,e,
*/

--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + col from tb
print @output
/*
a,b,c,d,e
*/

drop table tb
anlianganl 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 josy 的回复:]
或者

SQL code
declare @chas varchar(255)

select @chas=isnull(@chas+',','')+ic from tb
[/Quote]
顶下
百年树人 2010-12-27
  • 打赏
  • 举报
回复
或者
declare @chas varchar(255)

select @chas=isnull(@chas+',','')+ic from tb

百年树人 2010-12-27
  • 打赏
  • 举报
回复
declare @chas varchar(255)
select
@shas=stuff((select ','+ic from tb for xml path('')),1,1,'')
华夏小卒 2010-12-27
  • 打赏
  • 举报
回复
declare @chas varchar(255)

select isnull(@chas,'')+ic from tb

select @chas

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧