環境:OracleDB 10.2.0.5
以下の表から、
従業員コード 上司コード
00003 00001
00004 00003
00007 00004
00005 00001
00006 00002
従業員コードを1つ設定して、
00003 00001
00004 00003
00007 00004
のデータを取得するSQL文を書く場合、どのようにしたらよいでしょうか?
まずは、以下のような自己結合で実行してみましたが、
従業員コードに00003を指定した場合、「00003 00001」の値が取得できませんでした。
SELECT
部下.従業員コード,
上司.上司コード
FROM 従業員 AS 部下
JOIN 従業員 AS 上司
ON 部下.上司コード = 上司.従業員コード
WHERE 部下.従業員コード = '[条件値]'
また、以下の再帰クエリを実行してみましたが、
従業員コードに00004を指定した場合、「00007 00004」の値が取得できませんでした。
SELECT
従業員コード,
上司コード
FROM 従業員
START WITH 従業員コード = '[条件値]'
CONNECT BY 従業員コード = PRIOR 上司コード