Connect-to-priorステートメントでのみ解決できると思う問題があります。
私のデータモデルは、次のように簡略化されています。
create table TASK
( TASK_ID number
);
create table ITEM
( TASK_ID number,
NEXT_TASK_ID number
);
create table TASK_ITEM
( TASK_ID number,
ITEM_ID number
);
アイテムのセットが1つのタスクに結合されます。タスクのセットは1つ以上のアイテムに結合されます(これがTASK_ITEMジャンクションテーブルの出番です)。プロセスは一連のアイテムで始まり、単一のアイテムで終わります(ITEM.NEXT_TASK_IDは最後のアイテムではnullであり、最初のアイテムではtask_itemは存在しません)。
私の問題:
1つのtask_idが与えられた場合、先行するすべてのタスクを抽出したいと思います。
これは、Philip GreenspunによるOracleのツリーの優れた紹介、またはWikibookの階層クエリの説明に記載されている問題に隣接する問題ですが、IDとジャンクションテーブルがさらに含まれている場合、これらの問題に対処する適切な解決策を見つけることができないようです。
私自身のSQL-fooは悲しいことに不足しており、特定の問題の解決策を見つけることなく、私の心をググってしまいました。
キャリーフィッシャーの声で:私がオーバーフローをスタックするのを手伝ってください、あなたは私の唯一の希望です。