+ -
当前位置:首页 → 问答吧 → 行转列同时插入字符串问题

行转列同时插入字符串问题

时间:2011-12-16

来源:互联网

SQL code

create table #temp (en nvarchar(30))
insert into #temp  values('DuanTou')
insert into #temp values('DaiQi')

/*想要的结果
isnull(DuanTou,0)+isnull(DaiQi,0)
*/

作者: chirea   发布时间: 2011-12-16

什么意思

作者: pengxuan   发布时间: 2011-12-16

SQL code
----------------------------------------------------
/*如何将一列中所有的值一行显示
数据源
  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
*/

---方法三
declare @s varchar(1000)
select @s=isnull(@s+',' , '')+col from tb
select @s
/*
a,b,c,d,e
*/

drop table tb


-------------

作者: fredrickhu   发布时间: 2011-12-16