怎么得到这个结果
表A
a b
======
1 aa
1 bb
1 cc
2 aa
2 bb
3 aa
3 cc
得到
a b
=======
1 aa,bb,cc
2 aa,bb
3 aa,cc
求sql语句
问题点数:50、回复次数:4Top
1 楼rivery(river)回复于 2005-09-04 16:28:52 得分 20
使用辅助函数合并字符串,这里有很多啊。
create function fns_GetStr(@a int)
returns varchar(1000)
as
begin
declare @re varchar(1000)
select @re=''
select @re=@re+','+b from 表A where a=@a group by a
select @re=stuff(@re,1,1,'')
return @re
end
--查询
select a,dbo.fns_getStr(a)
from 表A
group by aTop
2 楼rivery(river)回复于 2005-09-04 16:33:43 得分 20
--测试表及数据
create table 表A(a int,b varchar(20))
insert into 表A
select 1,'aa' union
select 1,'bb' union
select 1,'cc' union
select 2,'aa' union
select 2,'bb' union
select 3,'aa' union
select 3,'cc'
--辅助函数
create function fns_GetStr(@a int)
returns varchar(1000)
as
begin
declare @re varchar(1000)
select @re=''
select @re=@re+','+b from 表A where a=@a
select @re=stuff(@re,1,1,'')
return @re
end
--查询
select a,dbo.fns_getStr(a)
from 表A
group by a
/* 结果
1 aa,bb,cc
2 aa,bb
3 aa,cc
*/
Top
3 楼sxycgxj(云中客)回复于 2005-09-04 17:06:21 得分 10
这类的例子已经发过了很多了Top
4 楼skyfine(柳荣宏)回复于 2005-09-05 15:21:25 得分 0
access支持这样的函数吗?Top




