1

以前にOracle Connectを使用して、子と1つの上位レベルの親の両方の情報を取得したいですか?

たとえば、次のクエリは子情報と親 ID を取得します。

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         .

事前に接続して子を選択した後に左結合を適用すると、この問題をどのように処理できますか?オブジェクトの順序が混在しています。

4

1 に答える 1

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                
...
于 2016-06-21T12:04:42.543 に答える