2012-06-20 2 views
0

Я подготовил несколько запросов, используя startwith и connectby для извлечения всех элементов таблицы с отношением parent-childs.Oracle Connect По запросу результаты поиска случайным образом не в иерархии

До сих пор эти запросы работали отлично. Но теперь я заметил, что возвращенная иерархия не была одинаковой. иерархия возвращается полностью случайным образом, хотя данные одинаковы.

Можно ли предположить, почему это происходит ..

Ниже приведен пример запроса:

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

РАСПОРЯЖЕНИЕ ОТПРЫСКИ BY будет делать то, что вы хотите, если вы не завернуть запрос в качестве встраиваемого Посмотреть. не

как только вы обернуть его, то упорядочение больше не указан

я предложил бы делать Соединить непосредственно во внутреннем запросе .. тогда ваш заказ должен работать.

+0

Привет, Рэнди, спасибо за ответ. Это сработало. Сначала я сделал запрос внутреннего соединения, завернул его, а затем применил connectby к этому внутреннему запросу.
У меня есть другой запрос, связанный только с этим запросом. http://stackoverflow.com/questions/11141989/oracle-connect-by-multiple-parents. не могли бы вы помочь мне в этом тоже .. –

+0

я отметил ответ, который, я думаю, хорош на этом другом вопросе ... рад, что это сработало :) – Randy

 Смежные вопросы

  • Нет связанных вопросов^_^