当前位置: 代码迷 >> Sql Server >> 一个SQL有关问题
  详细解决方案

一个SQL有关问题

热度:31   发布时间:2016-04-27 18:45:29.0
一个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 [email protected]_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'
  相关解决方案