+ -
当前位置:首页 → 问答吧 → sql查询统计问题

sql查询统计问题

时间:2011-12-02

来源:互联网

mysql问题描述:

有三个表 a,b,c; a表有字段a_id(主键),name; b表b_id(主键),a_id,b_name; c表c_id(主键),busi_id,a_id,b_id(可以为null),c表可能没有记录或者说不完整

要求统计:c表busi_id数量,需要查出的列有 name,b_name,busi_id数量(count(busi_id))

备注:c表有记录,有多少统计多少,没有的话,记录也要展示出来,busi_id数量0表示
a表a_id不一定在b表a_id中出现。

求sql解决方案,可以几条sql实现(非mysql实现也行,注明即可)

作者: zsczyhua   发布时间: 2011-12-02

select name,isnull(b_name,''),isnull(xcount,0)
from a a1 left join b b1
on a1.a_id=b1.a_id
left join (select a_id,b_id,count(busi_id) xcount from c group by a_id,b_id) c1
on a1.a_id=c1.a_id and b1.b_id=c1.b_id

作者: AWUSOFT   发布时间: 2011-12-02