34,590
社区成员
发帖
与我相关
我的任务
分享
create table tb(bh varchar(4),name varchar(10))
insert into tb values('001','北区')
insert into tb values('002','南区')
insert into tb values('003','西区')
insert into tb values('004','西南区')
go
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',['+name+']=max(case name when '''+name+''' then name else '''' end)'
from (select distinct name from tb)a
set @sql='select '+stuff(@sql,1,1,'')+' from tb'
exec(@sql)
create table tb(bh varchar(10),name varchar(10))
insert into tb select '01','北区'
insert into tb select '02','南区'
insert into tb select '03','西区'
insert into tb select '04','西南区'
declare @sql varchar(8000)
select @sql = isnull(@sql+',','')+ ' max(case name when ''' + name + ''' then name end) [' + name + ']'
from (select distinct name from tb) as a
exec('select'+@sql + ' from tb ')
create table tb(name varchar(10))
insert into tb values('北区')
insert into tb values('南区')
insert into tb values('西区')
insert into tb values('西南区')
go
--方法一
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.name + ',' from (select name from tb) as t
set @sql='select result = ''' + @sql + ''''
exec(@sql)
/*
result
----------------------
北区,南区,西区,西南区,
*/
--方法二
declare @output varchar(8000)
select @output = coalesce(@output + ',' , '') + name from tb
print @output
/*
北区,南区,西区,西南区
*/
drop table tb
create table tb(name varchar(10))
insert into tb values('北区')
insert into tb values('南区')
insert into tb values('西区')
insert into tb values('西南区')
go
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + t.name + ',' from (select name from tb) as t
set @sql='select result = ''' + @sql + ''''
exec(@sql)
drop table tb
/*
result
----------------------
北区,南区,西区,西南区,
*/
/*如何将一列中所有的值一行显示
数据源
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 = ''' + @sql + ''''
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