首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

求一条sql语句。大姐 帮帮小弟吧~

2012-01-18 
求一条sql语句。。在线等。。急~~~各位大哥大姐 帮帮小弟吧~~~表Aaidaname----------1aa2bb3cc表Bbidbnameaidb

求一条sql语句。。在线等。。急~~~各位大哥大姐 帮帮小弟吧~~~
表A
aid     aname
----------
1           aa
2           bb
3           cc
表B
bid     bname   aid     bpath
---------------------
1           ds         1         p1
2           fsd       1         p2
3           ds         2         p3
4           dgs       3         p4
5           fds       3         p5

想要的结果:

aid           bpath
-------------
1                 p1,p2
2                 p3
3                 p4,p5


各位大哥大姐   帮帮小弟吧~~~



[解决办法]
Create function GetbPath(@aid int)returns varchar(1000)Begindeclare @str varchar(1000)set @str = ' 'select @str = @str + bpath+ ', ' from b where aid=@aidif @str!= ' ' set @str = left(@str,len(@str)-1)return @strend
[解决办法]
然后:select a.aid,dbo.GetbPath(a.aid) from a
[解决办法]
cpp2017(慕白兄) 方法不错
我刚准备说用游标的;呵呵
[解决办法]
Create table tb (aid int,bpath varchar(2))

insert into tb select 1, 'p1 '
insert into tb select 1, 'p2 '
insert into tb select 2, 'p3 '
insert into tb select 3, 'p4 '
insert into tb select 3, 'p5 '

Create function aid(@aid int)
returns varchar(1000)
begin
declare @str varchar(1000)
set @str= ' '
select @str=@str+ ', '+ bpath from tb where aid=@aid
set @str=right(@str,len(@str)-1)
return(@str)
End


select aid,dbo.aid(aid) from tb a
group by aid

aid
----------- ----------------------------------------------------------------------------------------------------------------
1 p1,p2
2 p3
3 p4,p5

(所影响的行数为 3 行)
[解决办法]
慢了一步
[解决办法]
来晚了
[解决办法]
不用存储过程可以实现吗??

热点排行