我有一个分层数据库结构,例如列ID
并PARENT_ID
为每一行定义,顶层行具有NULL PARENT_ID
.
我将这个表中的所有关系展平到另一个表中,例如,如果祖父母、父母、孙子的单个层次结构中有 3 条记录,则将有 3 条记录:
**ANCESTOR, DESCENDANT**
grantparent, parent
grandparent, grandchild
parent, grandchild
与其执行分层查询来确定孙子是祖父的后代,我可以简单地检查(grandparent, grandchild)
这个扁平表中是否存在记录。
我的问题是,使用这个扁平表,我怎样才能最有效地返回两个节点之间的所有记录。使用示例,使用grandparent
和grandchild
作为我的参数,我怎样才能取回(grandparent, parent)
记录。
我不想使用分层查询来解决这个问题......我想知道是否可以在没有任何连接的情况下做到这一点。