2016-06-21 10 views
1

Я хочу получить как дочернюю, так и одну родительскую информацию верхнего уровня, используя oracle connect ранее?Как получить родительскую и дочернюю информацию верхнего уровня с помощью oracle connect ранее?

Например на следующем запросе извлечение ребенка информации и родительский идентификатор,

SELECT last_name, employee_id, manager_id, LEVEL 
    FROM employees 
    START WITH employee_id = 100 
    CONNECT BY PRIOR employee_id = manager_id 

, но я хочу, чтобы получить родительскую информацию также как

LAST_NAME     EMPLOYEE_ID MANAGER_ID  LEVEL MANAGER_NAME 
------------------------- ----------- ---------- ---------------------------- 
King        100      1   ? 
Cambrault       148  100   2   ? 
Bates        172  148   3   ? 
Bloom        169  148   3   . 
Fox        170  148   3   . 

Как я могу справиться с этой проблемой, когда я подал заявление оставил присоединяться после выбора дочерних элементов путем соединения по-прежнему, порядок объектов смешивается.

ответ

3

Вы можете обратиться к prior значений в списке выбора:

SELECT last_name, employee_id, manager_id, LEVEL, prior last_name as manager_name 
    FROM employees 
    START WITH employee_id = 100 
    CONNECT BY PRIOR employee_id = manager_id; 

LAST_NAME     EMPLOYEE_ID MANAGER_ID  LEVEL MANAGER_NAME    
------------------------- ----------- ---------- ---------- ------------------------- 
King        100      1       
Kochhar       101  100   2 King      
Greenberg       108  101   3 Kochhar     
Faviet       109  108   4 Greenberg     
... 
Cambrault       148  100   2 King      
Bates        172  148   3 Cambrault     
Bloom        169  148   3 Cambrault     
Fox        170  148   3 Cambrault     
... 
+0

Спасибо лет очень much.That вот оно – user6493966

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

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