ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 数据透视表 > 对于列数不等的多表合并新解

对于列数不等的多表合并新解

作者:绿色风 分类: 时间:2022-08-18 浏览:118
楼主
亡者天下
对于列数不等的多表合并,用SQL语句,可以多用几次SQL语句提取数据,然后创建数据透视表,

同样达到一样的效果。

表1数据:


 

表2数据:


 

答题要求:


 

思路分析:可以用SQL语句,先把“表1”中的"班级、姓名、语文"数据提取出来,再把"表1"中的"班级、姓名、英语"数据提取出来;
              再把"表2"中的数据提取出来,最后合并,创建透视表。

代码如下:


  1. select 姓名,班级,'语文' as 数据,语文 as 成绩 from [表1$] union all
  2. select 姓名,班级,'英语' as 数据,英语 as 成绩 from [表1$] union all
  3. select 姓名,班级,'**' as 数据,** as 成绩 from [表2$]


其中"**"表示"政-治"

得到的列表数据如下:

 

最后创建透视表如下,把行总计汇总方式改为"平均值",即可得到:


 


列数不等的多表合并.rar
2楼
zzmxy
不是可以更简单一点的吗?
  1. SELECT 姓名,班级,语文,英语,0 as ** From [表1$] Union All
  2. SELECT 姓名,班级,0 as 语文, 0 as 英语,** From [表2$]
3楼
zzmxy

哟,政‘治还成了敏感词了?晕啊……
4楼
zzmxy
之前一直不明白为什么小天只显示这五位同学的成绩,
当用了一种新的方法后,才明白,
原来这五位同学是两个表的交集,那么,下面的代码就很适合这种情况了呵呵~~~
  1. SELECT * From [表1$] T1, [表2$] T2 Where  T1.姓名=T2.姓名
5楼
亡者天下


经测试,结果有点不一样啊


 


截图.rar
6楼
zzmxy


  没有吧?你是不是直接生成表格啊?
我这边生成透视表是没有问题的哦……

 




列数不等的多表合并.rar
7楼
亡者天下


楼上的可以录制一个动画吗?

我测试还是不对啊

不知道哪里出问题了!
8楼
松儿
为初学者,指明方向。谢谢!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap