首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

不知道要如何写这种SQL语句

2012-08-02 
不知道要怎么写这种SQL语句有五行,列名为ID的列12345变成一行,列名为ID的列1,2,3,4,5这种要怎么写,[解决办

不知道要怎么写这种SQL语句
有五行,列名为ID的列
1
2
3
4
5
变成一行,列名为ID的列
1,2,3,4,5  
这种要怎么写,



[解决办法]
典型的行转列吗?
[解决办法]

SQL code
select convert(nvarchar(50),Id)+',' from tab for xml path('')
[解决办法]
SQL code
--> 测试数据:[tb]if object_id('[tb]') is not null drop table [tb]go create table [tb]([name] int)insert [tb]select 1 union allselect 2 union allselect 3 union allselect 4 union allselect 5--------------开始查询-------------------------SELECT STUFF((SELECT ','+LTRIM([name])   FROM [tb] FOR XML PATH('')),1,1,'') AS [name]----------------结果----------------------------/* name--------------1,2,3,4,5*/
[解决办法]
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-------------
[解决办法]
探讨
SQL code
----------------------------------------------------
/*如何将一列中所有的值一行显示
数据源
a
b
c
d
e
结果
a,b,c,d,e
*/

create table tb(col varchar(20))
insert tb values ('a')
insert tb……

[解决办法]
不可以用pivot吗~~

热点排行