现有表A,表B;表结构如下显示:
-----------------------------------------
表A结构
-----------------------------------------
aID      varchar(32)    not null PRIMARY KEY
aname    varchar(32)    not null
bID      varchar(32)    not null
-----------------------------------------
!!!!!!!!!!!!!!!!!!!!!
-----------------------------------------
表B结构
-----------------------------------------
bID      varchar(32)    not null PRIMARY KEY
b_parentID      varchar(32)    not null  /*说明对应表B里的bID,可以看成与bID有父子关系*/
bname    varchar(32)    not null
-----------------------------------------
问题如下:
要根据表A的aID查找出所有B表中的bID()注意:bID是找到所有与他有关的b_parentID记录

解决方案 »

  1.   

    select  a.*
    from 表B a left join 表B b
    on a.b_parentID=b.bID
    where exists (select from 表A c where c.bID=a.bID)
      

  2.   

    select bid from b start with id=(select bid from a where a.aid='?????') connect by prior b_parentID=bid
      

  3.   

    查子节点?
    select b.*
    from a,b
    where a.bid(+)=b.bid
      and level>1
    start with a.bid is not null
    connect by b.b_parentid=prior b.bid如果是父节点的话,将b.b_parentid=prior b.bid改成
    prior b.b_parentid=b.bid