我只想检索节点的同级

时间:2019-05-02 13:51:05

标签: oracle connect-by

我将发送一个节点,我需要从该节点中找到其级别,然后检索该级别上存在的所有值。

Select a,b,c,level from A,B
where level =(select level from (Select a,b,c,level from A,B and a='xyz'));

“ xyz” 是一个节点

代替此方法,因为查询变得相当长且重复很多,我是否有其他选择?

假设我有一张桌子A

Key | prior-key
xyz |  null
iop |  null
qwe |  iop   
abc |  xyz
def |  xyz
ghi |  def

所以在这里,如果我将'abc'作为节点传递给我的查询,首先我需要知道它在2级,并且需要提取所有在2级的节点。因此输出将是

qwe|iop
abc|xyz
def|xyz

但是,为此,我首先需要借助分层查询来找到节点的级别,然后再次编写分层查询以获取与同一级别关联的所有节点,这将使我的查询非常冗长。所以想知道我是否还有其他方法。

0 个答案:

没有答案