我有一个包含ID列,ID_child列和几个事实字段的oracle表。我知道一个ID,我想找到它的顶级父母。我知道的ID会放入ID_child字段,ID就是它的父级。 此查询工作,但我只能得到一行,我可以做一个常规的SQL查询。 如何获得顶级ID?oracle sql查询顶层查询层次结构查询
SELECT
item_tbl.id, item_tbl.id_child
FROM item_tbl
START WITH item_tbl.id_child = 12510646
CONNECT BY PRIOR item_tbl.id_child = item_tbl.id
结果我得到:
ID ID_CHILD
12512162 12510646
颠倒connect by语句。你有:'CONNECT BY PRIOR item_tbl.id_child = item_tbl.id'把它改为'CONNECT BY PRIOR = item_tbl.id = item_tbl.id_child'在connect by;订单很重要!您可以按级别降序添加级别和顺序以查看父级或子级别,或者使用连接方式中的其他方法查看路径。 – xQbert
这工作**我扭转了它,现在我得到每个级别的顶部。 –