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台製作するために必要な数」
という定義です。
相関サブクエリ、自己結合をつかって試しているのですが、
レコード毎に動的に上記の処理をさせることができずに
困っております。
ご教示の程、よろしくお願い致します。
お礼
おはようございます。 一瞬でできました・・・なんということでしょう! 製品が600くらいあり、年度も20年くらいあるのでもう諦めていましたがこんなに早く解決して感謝しかありません。 前回も助けていただきましたよね。 本当にありがとうございました!助かりました。 また助けていただけると幸いですm(_ _)m