表格模板-多表统计分析 精品.xls
《表格模板-多表统计分析 精品.xls》由会员分享,可在线阅读,更多相关《表格模板-多表统计分析 精品.xls(65页珍藏版)》请在第一文库网上搜索。
1、问题:表A: IdNumber100151002610037 表B: IDMoney100110100712 我要的结果是: IDNumberMoney100151010026Null10037Null1007Null12解决方案:selectCOALESCE(a.id,b.id)asID,sum(a.number)number,sum(b.Money)MoneyfromAfulljoinBona.id=b.idgroupbyCOALESCE(a.id,b.id)问题:我要做一个多表统计。有这样四个表 USER(用户名,部门,职务) Table1(序号1,用户名,工作一) Table2(序号2
2、,用户名,工作二) Table3(序号3,用户名,工作三) 其中,User表为用户信息表,存放所有的用户基本信息,后三个表的用户名均为User表中的用户。我想作一个统计,统计每一个用户作“工作一”、“工作一”、“工作一”的次数。相当于将后三个表分别作统计,然后汇总成一张表。结果显示为如下形式: 用户名工作一次数工作二次数工作三次数 a579b0765c45544d900 其中,0表示在该表在没有该用户的记录。 请问各位高手,该如何做? 解决方案1:select a.用户名, 工作一次数 = (select isnull(count(*),0) from table1 where 用户名=a.用
3、户名), 工作二次数 = (select isnull(count(*),0) from table2 where 用户名=a.用户名), 工作三次数 = (select isnull(count(*),0) from table3 where 用户名=a.用户名) fromUSERaorderby a.用户名解决方案2:select a.用户名,工作一次数=sum(case when b.工作一 is null then 0 else 1 ), 工作二次数=sum(case when c.工作二 is null then 0 else 1 ), 工作三次数=sum(case when d.工
4、作三 is null then 0 else 1 ), from USER a left join table1 b on a.用户名 = b.用户名 left join table2 c on a.用户名 = c.用户名 left join table3 d on a.用户名 = d.用户名 group by a.用户名问题:现有cpb和xsqkb两个表cpb数据如下产品号 产品型号 生产厂家 单价CP001 KF-25GW/11BP 海信 2300CP002 KF-25GW/22BP 海信 2300CP003 KFR-35GW/29BP 海信 3600CP004 KFR-25GW/99SZ
5、BP 海信 5300CP005 KFR-26GW/76ZBP 海信 3400CP006 KFR-23GW/77VZBP 海信 3000CP007 KFR-32GW/76ZBP 海信 3700CP008 KFR-32GW/77VZBP 海信 3600CP009 KFR-35GW/77ZBP 海信 4000CP010 KFR-40GW/77ZBP 海信 4600CP011 KFR-50GW/09BP 海信 5400CP012 KFR-32GW/29RBP 海信 3600CP013 KFR-32GW/11BP 海信 3400 xsqkb 表 数据 产品号 职工号 销售时间 销售数量 CP001ZG0
6、012006-10-0300:00:001CP001ZG0062006-11-1100:00:009CP002ZG0022006-09-2100:00:008CP002ZG0092006-05-3000:00:004CP003ZG0042005-02-2300:00:003CP003ZG0042006-03-1000:00:003CP003ZG0042006-05-0200:00:003CP003ZG0062006-02-1200:00:007CP004ZG0072005-06-1800:00:008现求销售销量排前三位的空调的型号,生产厂家和单价我给出的SQL语句为select distin
7、ct 产品型号 ,生产厂家,单价 from cpb inner join xsqkb on cpb.产品号=xsqkb.产品号where cpb.产品号 in (select top 3 with ties 产品号 as aa from xsqkb groupby(cph)orderbyaadesc)虽然能解决问题但自己感觉很别扭,请帮我改一下,看能不能多给几个比较好的解决办法.解决方案1:语句应该是这样:selectdistinct产品型号,生产厂家,单价from cpb inner join xsqkb on cpb.产品号=xsqkb.产品号 where cpb.产品号 in (sele
8、cttop3产品号,sum(销售量)asxslfromxsqkb group by (产品号) orderbyxsldesc)解决方案2:select产品型号,生产厂家,单价fromcpbwherecpb.产品号in(selecttop3产品号,sum(销售量)asxslfromxsqkb group by (产品号) orderbyxsldesc)问题:主从表结构: 主表结构及数据: 授课表1 id 老师姓名 所带学生档案号 团体/个人 2 王二 1 团体 3 王二 2 团体 4 王二 3 团体 5 王二 4 团体 6 王二 5 个人 7 王二 6 个人 8 王二 7 个人 9 王二 8 个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 表格模板-多表统计分析 精品 表格 模板 统计分析