我有分类表的结构:
身份证件
标题
\u是否处于活动状态(0或1)
父项id
项目表的结构:
身份证件
标题
\u是否处于活动状态(0或1)
类别\u id
表通过一对多关系与category\u id字段相关联。那些。1个类别可以有多个项目。
类别表中的两级层次结构。这定义了主要类别和子类别。类别是那些父项id=null的记录。以及子类别,这些记录中的父项=某个id。
一个项目可以同时属于主类别(其中父类别id=null)和子类别(子类别)。项可以是活动的,也可以是非活动的(0或1)。类别和子类别也可以是活动的,也可以是非活动的。
请告诉我。我无法查询以选择项目。我需要从items表中选择状态为\u active=1的项目,这些项目是:1)加入到主类别中,主类别的状态为\u active=1。2) 最困难的是:这些项目被连接到一个子类别,其状态为\u active=1,该子类别的父类别的状态为\u active=1。这实际上是用sql完成的吗?我使用查询
SELECT * FROM item LEFT JOIN categories
ON item.category_id = categories.id
WHERE item.is_active = 1 AND categories.is_active = 1 AND categories.parent_id IN
(SELECT id FROM categories WHERE parent_id IS NULL AND is_active = 1)
但它返回一个空结果给我
1条答案
按热度按时间yc0p9oo01#