首页 > 解决方案 > MYSQL - 在 parent_category 处于活动状态时选择产品

问题描述

假设我们有一个这样的数据库类别结构

# Categories Table
| category_id | parent_category_id | status |

# Products Table
| product_id | category_id |

只有parent_category_id有活动的情况下,我如何才能获得某个类别中的产品列表status = 1

我想我可以在语句中使用一些子查询SELECT,但我不知道怎么做!:(

就像是:

SELECT p.*, (SELECT * FROM ? WHERE ? ) AS x 
FROM products AS p 
    LEFT JOIN categories AS c ON p.category_id = c.category_id 
WHERE ... 
AND p.product_id = '?' 
AND ...

提前感谢您的任何建议!

注意:我使用 PHP 作为后端语言,以防万一我需要某种数据操作来传递给 mysql 查询。

标签: phpmysqlcategoriesparent

解决方案


SELECT p.* FROM products p
INNER JOIN categories child ON child.category_id = p.category_id
INNER JOIN categories parent ON parent.category_id = child.parent_category_id
WHERE parent.status=1

推荐阅读