mysqli检查父类别是否与类别id=0匹配

drnojrws  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(374)

我试着做这个是1查询,我可以很容易地做它在多个,但这不是最佳的。我有一张这样的table:

category_id |  parent_category | status
    1           |  0               |  0
    2           |  0               |  1
    3           |  1               |  0
    4           |  2               |  0

到目前为止,我的问题是这样的

SELECT
    c.slug
    , c.parent_category
    FROM categories c
    INNER JOIN products p
    ON (p.category_id = c.category_id)
    WHERE
    c.status = '0'
    AND (SELECT count(p.product_id)>0)
    AND p.product
    GROUP BY p.category_id

现在这将显示类别1,3,4。但是4s父级(2)的状态为1。我不想让4显示出来,所以我想说如果parent\u categories category\u id=0,如果是1,那么就不显示。
为了我的生命,我无法解决这个问题。

z0qdvdin

z0qdvdin1#

您需要将表与其自身连接起来,以获取有关父类别的信息。

SELECT c.slug, c.parent_category
FROM categories c
JOIN categories parent ON c.parent_category = parent.category_id
JOIN products p ON p.category_id = c.category_id
WHERE c.status = 0 and parent.status = 0

相关问题