【花去我所有积分】关于二级分类sql查询语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 20:37:57
mysql5.0数据库
product_type: product_type_id, parent_id, name
parent_id=0说明是一级分类 总共两级分类

product:product_id, product_type_id , product_name
product_type_id记录小分类的编号

要求统计每一个大分类中product的数量 (包含大分类中的消费类)
返回大分类数量, 名称 ,ID
这个查询语句怎么写? 请大家帮帮我。

product_type_id parent_id name
1 0 大分类1
2 0 大分类2
3 1 小分类a
4 1 小分类b
5 2 小分类c
6 2 小分类d

product_id product_type_id product_name
1 3 产品1
2 3 产品2
3 4 产品3
4 4 产品4
5 4 产品1
6 5 产品2
7 6 产品3
8 6 产品4

根据上述数据 我要得到
total product_type_id product_type_name
5 1 大分类1
3 2 大分类2

谢谢各位帮忙

写的有点麻烦哈,不过你的问题看起来简单,实际还真不是很简单。
SELECT COUNT_TYPE.Total,COUNT_TYPE.product_type_id,BIG_NAME.[name]
FROM
(
SELECT COUNT(TEMP.parent_id) as Total,TEMP.parent_id as product_type_id
FROM product P,(SELECT *
FROM product_type
WHERE parent_id != 0
)AS TEMP
WHERE P.product_type_id = TEMP.product_type_id
GROUP BY TEMP.parent_id
)AS COUNT_TYPE,
(
SELECT product_type_id,[name]
FROM product_type
WHERE parent_id = 0
)AS BIG_NAME
WHERE COUNT_TYPE.product_type_id = BIG_NAME.product_type_id