2016-10-18 15 views
0

私は以前のコマンドでoracleの接続をハングアップさせたいと思っています。例えば。私は、プロジェクトのテーブルと、マッピングテーブルproject_employeeによって接続された従業員のテーブルを持っています。すべての従業員がプロジェクトのリストを作成しました。今私は従業員と彼らの「友情」をつなぐことを望んでいます。従業員は、彼が勤めたプロジェクトのすべてのプロジェクトメンバーと友人であり、その友人は初めに定義された従業員の友人でもあります。例えば。プロジェクトP1は従業員A、B、Cによって行われました.P2はBとC.プロジェクトP3はBとDです。従業員AはBとCを知っています(P1で活躍したため) P1で、BはP3でDで動作します)。これは、従来のクエリによって接続することにより行うことができるようにすべきである...しかし、私はあなたのようなものが必要だと思うどのように..SQL階層クエリ

+1

これは非常に難しいのですわかる。たぶん、いくつかのデータモデルの例、入力、期待される出力など – Hogan

+1

http://stackoverflow.com/help/mcve – Hogan

+0

サンプルデータベースはhttps://dev.mysql.com/doc/sakila/en/sakila-installationにあります。 html。このデータベースをprojects = filmsやactor = employeeとして使っているプロジェクトでも同じことを想像してみてください。私は特定の俳優と映画の中で定義された俳優と演奏俳優との映画の中で演奏俳優との映画で演奏した各俳優を望む... – user3172567

答えて

0

のハングアップを取得することはできません。

select * 
    from table_of_Employees e 
where e.employee_id IN ( 
(select employee_id/*, level as lvl */ 
    from project_employee pe 
connect by NOCYCLE prior project_id = project_id 
       and prior employee_id != employee_id 
    start with employee_id IN (:some_start_employee) 
)