表名:table1
其中的字段為:Name
存在如下記錄:nameA
nameB
nameC
nameD
nameE
想得到如下結果:“nameA;nameB; nameC;nameD; nameE”
怎麼做??????十分感謝
------解决方案--------------------
- SQL code
create table tb(name varchar(10))insert into tb select 'name1' unionselect 'name2' unionselect 'name3' unionselect 'name4' declare @str varchar(1000)select @str=ISNULL(@str+';','')+name from tbselect @str/*-----------------------name1;name2;name3;name4
------解决方案--------------------
- 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 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*/---方法三declare @s varchar(1000)select @s=isnull(@s+',' , '')+col from tbselect @s/*a,b,c,d,e*/drop table tb-------------