有三个表a1,b1,c1.a1. aid a b c
001 1 2 3
002 4 4 5 b1. bid aid d e
001 001 er er
002 002 rr rr c1. cid bid f g
001 001 fe a
002 001 f0 b
003 001 122 c
现在我知道a1表的aid 我要的是b1表的记录且所有c1表里面含有c1.bid=b1.bid的记录的一个字段所有记录的字符连接在一起.
比如上面几个表可以直观看出 我有A1.aid 001 我要的结果是:b1 001,001 er er abc
急!~
001 1 2 3
002 4 4 5 b1. bid aid d e
001 001 er er
002 002 rr rr c1. cid bid f g
001 001 fe a
002 001 f0 b
003 001 122 c
现在我知道a1表的aid 我要的是b1表的记录且所有c1表里面含有c1.bid=b1.bid的记录的一个字段所有记录的字符连接在一起.
比如上面几个表可以直观看出 我有A1.aid 001 我要的结果是:b1 001,001 er er abc
急!~
select a.aid,b,bid,b.d,b,e,c.cola
from a1 a,b1 b,
(
select max(substr((sys_connect_by_path(trim(g),'')),2)) cola
from (
select bid,ge,
rownum rnum,
row_number() over(partition by bid order by bid) rn1
from c1
)
start with rn1=1
connect by rnum-1=prior rnum
group by bid
) c
where a.aid=b.aid and b.bid=c.bid
and a.aid='001';LZ自已试试吧,大概就是这样子
create function wsp(@bid varchar(10))
returns varchar(100)
as
begin
declare @sql varchar(100)
select @sql=isnull(@sql,'')+g from c1 where bid=@bid
return @sql
endselect bid+','+aid,d,e,dbo.wsp(aid) from b1