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

一个SQL有关问题

2012-01-19 
一个SQL问题请教各位有三个表a1,b1,c1.a1. aidabc001123002445b1. bidaidde001001erer002002rrrrc1. cidbi

一个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' 

热点排行