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

这样的SQL如何写呀?

2012-03-04 
这样的SQL怎么写呀????????现在有一个表TableA,如下:AB--------------------1A1B2C2D现在想得到下面的结果

这样的SQL怎么写呀????????
现在有一个表TableA,如下:
A                       B
--------------------
1                       A
1                       B
2                       C
2                       D
现在想得到下面的结果:
A                       B
---------------------
1                     A,B
2                     C,D

要达到这样的结果,怎么用SQL实现?

[解决办法]
create function f_str(@A varchar(10))
returns varchar(100)
as
begin
declare @str varchar(100)
set @str= ' '
select @str=@str+ ', '+B from tableA where A=@A
return stuff(@str,1,1, ' ')
end

以上为创建函数
select A,dbo.f_str(A) as B
from tableA
group by A

[解决办法]
create table T(A int, B varchar(10))
insert T select 1, 'A '
union all select 1, 'B '
union all select 2, 'C '
union all select 2, 'D '

create function dbo.fun(@A int)
returns varchar(100)
as
begin
declare @re varchar(100)
set @re= ' '
select @re=@re+ ', '+B
from T
where A=@A

return(stuff(@re, 1, 1, ' '))
end

select A, B=dbo.fun(A)
from T
group by A

--result
A B
----------- ----------------------------------------------------------------
1 A,B
2 C,D

热点排行
Bad Request.