显示基于祖母的父计数

时间:2012-08-17 06:00:58

标签: mysql

我有两张桌子

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

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

2 个答案:

答案 0 :(得分:0)

问题是你的结构是递归的。 我想你可以搜索关于间隔表示的更多信息。

答案 1 :(得分: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 

这很有效。