Oracle Connect By查询结果集随机不在层次结构中

时间:2012-06-20 14:05:08

标签: oracle connect-by

我使用startwith和connectby编写了一些查询,用于获取具有父子关系的表的所有项目。

到目前为止,这些查询工作得非常好。但现在,我注意到返回的层次结构并不相同。虽然数据相同,但是以完全随机的方式返回层次结构。

任何人都可以建议为什么会发生这种情况..

以下是示例查询:

SELECT id,loc.title Title FROM 
(SELECT level level,id id,parent_id Parent_Id,sort_order FROM table1 
START WITH parent_id=0 
CONNECT BY prior id  = parent_id ORDER SIBLINGS BY sort_order) 
INNER JOIN table2 loc ON id = loc.id WHERE loc.locale=?

1 个答案:

答案 0 :(得分:1)

如果不将查询包装为内联视图,ORDER SIBLINGS BY将执行您想要的操作。

一旦你把它包起来,就不再指定排序了

我建议直接在内部查询中进行JOIN ..那么你的订单应该可以工作。