1

我有两张桌子

Table1 : Categories , 
Columns : id , parent_id , name 
Table2 : products ,   
Columns : id , product_name , category_id , subcategory_id , sale_wanted

这是详细信息
一个类别可以有多个子类别ID。Parent id 0 表示它是一个类别,而 parent id != 0 表示它是一个子类别。现在每个产品都与一个子类别相关。我需要显示与每个类别相关的类别名称和子类别总数。sale 0 表示该产品正在销售,1 表示它是必需的。现在我需要这个。
1.显示与该类别相关的产品在售的每个类别的所有类别和子类别的数量。

4

2 回答 2

0

问题在于您的结构是递归的。我认为您可以搜索有关区间表示的更多信息。

于 2012-08-17T07:28:40.003 回答
0

好吧,我找到了这个解决方案

select 
    dc.category_id,
    dc.name ,
    count(ldc.name) as total
from default_category as dc
inner join default_category as ldc on ldc.parent_id= dc.category_id 
inner join(select * from default_products where sale_wanted = 1) as dp on dp.subcategory_id = ldc.category_id
where dc.parent_id = 0
group by dc.category_id 

这很好用。

于 2012-08-23T07:47:03.680 回答