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实现也行,注明即可)
有三个表 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
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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28