在oracle sql中从子级查找根父级
我必须在我提供子级的层次结构中找到顶级父级。 当id=ref时,最顶端的父级将是 表示例: +--------------------+ | id parent_id ref | +--------------------+ | 1 1 1 | | 2 1 1 | | 3 2 1 | | 4 3 1 | | 5 4 2 | +--------------------+ +--------------------+ |id父项\u id参考| +--------------------+ | 1 1 1 | | 2 1 1 | | 3 2 1 | | 4 3 1 | | 5 4 2 | +--------------------+ 输入id 4时,我需要获取最顶层的父级(id 1) 我不能简单地从ref=id的表中选择* 由于同一表中可能存在其他层次结构,因此查询必须执行以下操作: 从id eg 4开始 如果不相等,则检查id\u parent=ref 然后使用父id作为新id 并检查它是否为id\u parent=ref 依此类推,直到parent_id=ref 此外,id 5属于不同的层次结构 非常感谢您的帮助 谢谢“id 5属于不同的层次结构”这是否意味着该记录中的在oracle sql中从子级查找根父级,oracle,hierarchy,connect-by,Oracle,Hierarchy,Connect By,我必须在我提供子级的层次结构中找到顶级父级。 当id=ref时,最顶端的父级将是 表示例: +--------------------+ | id parent_id ref | +--------------------+ | 1 1 1 | | 2 1 1 | | 3 2 1 | | 4 3 1 | | 5 4 2 | +-------------------
ref 2
与您显示的id 2
不同?这些层次结构是如何工作的?“id 5属于不同的层次结构”这是否意味着该记录中的ref 2
与您显示的id 2
不同?这些层次结构是如何工作的?