2

在此处输入图像描述我有以下表格:

产品

  • ID
  • 姓名
  • 价格表

mrp_bom

  • ID
  • produ_id(产品表的参考)
  • bom_id(包含 self 表的引用)
  • 产品数量

现在我想要这个存根,如果我选择任何不相关的产品bom_product并且如果在bom_product任何bom_product嵌套的子中。

以下是 mrp_bom 表的图像。现在假设我选择 id 为 1 的计算机,而不是我需要 CPU、LCD、键盘作为 BOM 的计算机现在 CPU 还需要硬盘主板和内存,所以如果我选择计算机,我想要递归查询而不是给出所有 bom 和 sub bom。

我写了以下查询,但它给出了一个级别的输出 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 Join subproduct as sp on (mb.bom_id=sp.id) select name,product_id,id from subproduct) mb join mrp_bom mp on mb.product_id=mp 。ID

4

0 回答 0