2

ここに画像の説明を入力次のテーブルがあります。

製品

  • ID
  • 名前
  • 定価

mrp_bom

  • ID
  • produ_id (商品テーブルの参照)
  • bom_id (セルフテーブルの参照を含む)
  • 製品数量

関連製品以外の製品を選択し、ネストされたサブbom_productにある場合は、このスタブが必要です。bom_productbom_product

mrp_bom テーブルの次の画像。ここで、コンピューターよりも id が 1 のコンピューターを選択するとします。BOM として CPU、LCD、キーボードが必要です。現在、CPU にはハードディスクのマザーボードと RAM も必要なので、すべての bom とサブ bom を指定するよりもコンピューターを選択した場合は、再帰クエリが必要です。

私は次のクエリを書きましたが、それは1つのレベルを出力します select mb.product_id,mb.name from (with recursive subproduct as (select name,product_id,id from mrp_bom where product_id=2 Union All

select mb.name,mb.product_id,mb.id from mrp_bom as mb サブプロダクトを sp として結合 (mb.bom_id=sp.id) ) select name,product_id,id from subproduct) mb 結合 mrp_bom mp on mb.product_id=mp .id

4

0 に答える 0