Skip to Main Content

Japanese

再帰クエリについて

user5799127Apr 18 2016 — edited May 7 2016

環境: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 上司コード

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 4 2016
Added on Apr 18 2016
1 comment
1,070 views