将查询结果显示在一行 例:ProId-----------8931想得到的结果:ProId-------------89,31 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /*如何将一列中所有的值一行显示数据源 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 tset @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 tbprint @output/*a,b,c,d,e*/drop table tb declare @s varchar(8000)select @s=isnull(@s+',','')+列 from tb create table tb(ProId int)insert into tb values(89)insert into tb values(31)go--方法一 declare @sql varchar(1000) set @sql = '' select @sql = @sql + cast(t.ProId as varchar) + ',' from (select ProId from tb) as t set @sql='select result = ''' + left(@sql , len(@sql) - 1) + '''' exec(@sql) /* result ------ 89,31*/ --方法二 declare @output varchar(8000) select @output = coalesce(@output + ',' , '') + cast(ProId as varchar) from tb print @output /* 89,31*/ drop table tb 借用乌龟的数据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 @s varchar(8000)select @s=isnull(@s+',','')+col from tbselect @s/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------a,b,c,d,e(1 行受影响)*/ --如果是SQL2005declare @s varchar(max)select @s=isnull(@s+',','')+col from tbselect @s sql查询问题求解 sql 自增长int标识有一天会用完的时候怎么办呢? 求SQL语句 ADO连接失败 sql关于用户的一点疑惑。 我想做一个分页的存储过程,出了个问题 紧急求助: SQL Server2005 Model库无法访问!!!!急!急!急! 如何动态添加 表中的字段 ( 使用ado , access 数据库, 或者ms sql server) ? 求sql语句,高手请进 存储过程变量值的疑问 两表数据insert |zyciis| 数据库设计问题:原来我设计表的时候都是用int自增做ID,可现在感觉越来越不好,总是觉得用字符型来做主键会更好,请大家指点指点,谢谢
数据源
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
select @s=isnull(@s+',','')+列 from tb
insert into tb values(89)
insert into tb values(31)
go--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + cast(t.ProId as varchar) + ',' from (select ProId from tb) as t
set @sql='select result = ''' + left(@sql , len(@sql) - 1) + ''''
exec(@sql)
/*
result
------
89,31
*/ --方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + cast(ProId as varchar) from tb
print @output
/*
89,31
*/
drop table tb
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 @s varchar(8000)
select @s=isnull(@s+',','')+col from tb
select @s
/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
a,b,c,d,e(1 行受影响)
*/
declare @s varchar(max)
select @s=isnull(@s+',','')+col from tb
select @s