读书人

一个SQL有关问题

发布时间: 2012-01-19 00:22:28 作者: rapoo

一个SQL问题请教各位
有三个表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
急!~

[解决办法]

SQL code
create function f_str(@user_name varchar(50))returns varchar(500)asbegin    declare @ret varchar(500)    set @ret = ''    select @ret = @ret + g from c1 where bid=@user_name    set @ret = stuff(@ret,1,1,'')    return @retendgoselect b.*,dbo.f_str(bid)from b1 bgroup by bid,aid,d,e
[解决办法]
SQL code
select    distinct b.bid ,      b.aid         b.d  ,[g]=dbo.f_test(g)from     b1 bjoin    c1 c on b.bid=c.bidwhere        b.aid='001' 

读书人网 >SQL Server

热点推荐