楼主 水星钓鱼 |
如下图所示
为某公司2010-2011两年的月售额记录,现在需要根据企业简称,用SQL语句创建数据透视表,如所示。
要求: 1.不允许修改数据源,不允许使用辅助列 2.在数据量大的情况下SQL语句运行速度不能太慢 3.答对加3个技能分,优秀答案加5个技能分 4.第一个答对的版主加3个技能分,后续答对的版主不加分
5.题目说明:“结果”图展示的是“企业简称”工作表中的3家企业2010-2011两年总的销售额 (即12个月的销售额),用SQL语句创建的数据透视表不能再进行组合、编辑字段项目等操作,企业名称无规律。 6.如果数据源有变更,包括增加、减少,SQL语句要不能修改也可以实现类似效果。附件如下:
SQL.rar
提交答案需提交附件,不能仅提交SQL语句。 特别提醒:企业简称中的企业数并不是固定的,这里只是一个举例,有可能3家也有可能5家,SQL语句必须要有通用性。 |
2楼 peakchu |
死办法套的,不知道可对,等答案中
SQL.rar |
3楼 嘉昆2011 |
附件效果:
SQL.rar |
4楼 peakchu |
又敏思苦想了几天,再发一次,继续等答案
SQL.rar |
5楼 LOGO |
- SELECT 企业,年,销售额 FROM (SELECT [企业\月份],[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月]+[12月] as 销售额,2010 as 年 from [2010$]
- union all
- SELECT [企业\月份],[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月]+[12月] as 销售额,2011 as 年 from [2011$]) a,[企业简称$] b
- where instr(A.[企业\月份],B.企业)<>0
SQL-LOGO.zip |
6楼 zbhpass |
SQL.rar |
7楼 taow |
select 企业,年,销售额 from (select SWITCH([企业\月份] like "%A%","A",[企业\月份] like "%B%","B",[企业\月份] like "%C%","C") as 企业,"2010" as 年,[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月]+[12月] as 销售额 from [2010$] union all select SWITCH([企业\月份] like "%A%","A",[企业\月份] like "%B%","B",[企业\月份] like "%C%","C") as 企业,"2011" as 年,[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月]+[12月] as 销售额 from [2011$]) where 企业 is not null
SQL.rar |
8楼 水星钓鱼 |
大概的思路是这样的- select 年,(select b.企业 from [要统计的企业简称$] b where instr(a.委托单位,b.企业)<14 and instr(a.委托单位,b.企业)>0) as 委托单位,检验费 from (select [委托单位\月份] as 委托单位,[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月] as 检验费,'2011' as 年 from [2011$] union all select [委托单位\月份] as 委托单位,[1月]+[2月]+[3月]+[4月]+[5月]+[6月]+[7月]+[8月]+[9月]+[10月]+[11月] as 检验费,'2012' as 年 from [2012$]) a where exists (select b.企业 from [要统计的企业简称$] b where instr(a.委托单位,b.企业))
在SELECT子句中运用子查询,instr,exists的用法。具体的答案按照以上SQL语句的思路去套。 |
9楼 像狸一样坚定 |
- select a.总计,a.年,b.企业 from (select `企业\月份`,`1月`+`2月`+`3月`+`4月`+`5月`+`6月`+`7月`+`8月`+`9月`+`10月`+`11月`+`12月` as 总计,'2010' as 年 from [2010$] union all select `企业\月份`,`1月`+`2月`+`3月`+`4月`+`5月`+`6月`+`7月`+`8月`+`9月`+`10月`+`11月`+`12月` as 总计,'2011' as 年 from [2011$])a,[企业简称$]b where instr(a.`企业\月份`,b.企业)
简称的做法.zip |
10楼 葵花籽yi |
学习学习~~
|