日期:2014-05-17  浏览次数:20404 次

求条分类汇总的SQL语句,谢谢
大家好! 需求如下:三个表
分类表(t_cat) 主键:cat_id ,由于二级分类,所以还有一个parent_id(需求已确定只有二级分类)
产品表(t_pro) 主键:pro_id 
产品和分类是一对多的关系,所以还有一个产品关联分类表(t_pro_link_cat) 主键:(pro_id,cat_id)

现在要得到所有的分类,并且要得出此分类下面所有的产品个数总和。如:
cat_id,cat_name,pro_count
  1      美容     20
求sql语句,或者思路。谢谢各位大大们。
sql

------解决方案--------------------
select fid,fname,count(*) from A inner join B on A.id=B.id group by fid,fname
------解决方案--------------------

select a.*,b.cat_name from (select count(cat_id) as pro_count,cat_id from t_pro_link_cat group by cat_id) a left join t_cat  b on a.cat_id=b.cat_id
------解决方案--------------------
select A.cat_id,A.cat_name,count(0) as pro_count from t_cat A inner join t_pro B on A.cat_id=B.cat_id group by A.cat_id,A.cat_name 
------解决方案--------------------
select cat_id,cat_name,count(*)
from t_pro_link_cat plc left join t_cat c on c.cat_id=plc.cat_id
left join t_pro p on plc.pro_id=p.pro_id
order by plc.cat_id,c.cat_name