0

我使用 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=?
4

1 回答 1

1

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

包装后,不再指定顺序

我建议直接在内部查询中进行 JOIN .. 然后你的 order by 应该可以工作。

于 2012-06-20T14:06:05.490 回答