PostgresSQLでの動的な計算
親, 親在庫, 子, 子在庫, 員数
-----------------------------------------
製品A, 1, 部品A, 2, 1
製品A, 1, 部品B, 1, 1
部品A, 2, 部品a, 100, 10
部品A, 2, 部品b, 50, 20
上記のような製品Aの構成部品と在庫を
管理しているテーブルから、各部品の所要量
を計算し、抽出するSQLで悩んでおります。
上記の場合、例えば製品Aを10台製作するための
各部品の所要量として、
親, 親在庫, 親所要量, 子, 子在庫, 員数, 子所要量
------------------------------------------------------------------
製品A, 1, 10, 部品A, 2, 1, 9
製品A, 1, 10, 部品B, 1, 1, 9
部品A, 2, 9, 部品a 100 10, 70
部品A, 2, 9, 部品b 50 20, 140
という結果が抽出できるのが理想です。
子の所要量を計算するために、(親所要量 - 親在庫)を
動的に算出し、それを子の員数と乗算させる。
という処理を繰り返すイメージです。
なお、ここでいう員数とは、「親を1台製作するために必要な数」
という定義です。
相関サブクエリ、自己結合をつかって試しているのですが、
レコード毎に動的に上記の処理をさせることができずに
困っております。
ご教示の程、よろしくお願い致します。
お礼
なるほど!そういうことなんですね!もし親会社が他の製品にも使えるなどといった場合にも、正味売却価額を算定して、その金額と原価の差額を評価損に計上すればいいということですね。ありがとうございました!