1

仕事

私は現在、仕事の原価計算のための単純なアプリケーションの実行可能な構造を考え出そうとしています. すべての操作を格納する 1 つのテーブルを作成し、ParentID フィールドを介して操作をリンクすることにしました。以下は、このテーブルの単純化された構造です。

DB テーブルの単純化された構造

ご覧のとおり、主キーは、一意に保つために自動インクリメントを行う整数フィールドです。別の操作から派生する操作は、親 ID フィールドの下に表示され、ワー​​クフローの単純化された内訳を作成します。また、このデータ テーブルにはコストのフィールドがあります。これは私が最も関心のあるフィールドです。

問題

操作 ID をスローできるクエリを実行したいと思います。その操作とそのすべての子およびその子の子などを再帰的に実行します。これにより、取得するレコードにすべてのコスト フィールドが蓄積されます。これを行う唯一の方法は、再帰ループを使用することです。これは、私の意見では、これを行うための最良の方法ではありません。

質問

それで、私の質問は、再帰ループなしでこれを行う方法はありますか? そうでない場合は、ループを使用した最もクリーンで迅速な方法を誰かが提案できますか?

4

1 に答える 1