作者:绿色风
分类:
时间:2022-08-18
浏览:129
楼主 亡者天下 |
对于列数不等的多表合并,用SQL语句,可以多用几次SQL语句提取数据,然后创建数据透视表,
同样达到一样的效果。
表1数据:
表2数据:
答题要求:
思路分析:可以用SQL语句,先把“表1”中的"班级、姓名、语文"数据提取出来,再把"表1"中的"班级、姓名、英语"数据提取出来; 再把"表2"中的数据提取出来,最后合并,创建透视表。
代码如下:
- select 姓名,班级,'语文' as 数据,语文 as 成绩 from [表1$] union all
- select 姓名,班级,'英语' as 数据,英语 as 成绩 from [表1$] union all
- select 姓名,班级,'**' as 数据,** as 成绩 from [表2$]
其中"**"表示"政-治"
得到的列表数据如下:
最后创建透视表如下,把行总计汇总方式改为"平均值",即可得到:
列数不等的多表合并.rar |
2楼 zzmxy |
不是可以更简单一点的吗?
- SELECT 姓名,班级,语文,英语,0 as ** From [表1$] Union All
- SELECT 姓名,班级,0 as 语文, 0 as 英语,** From [表2$]
|
3楼 zzmxy |
哟,政‘治还成了敏感词了?晕啊…… |
4楼 zzmxy |
之前一直不明白为什么小天只显示这五位同学的成绩, 当用了一种新的方法后,才明白, 原来这五位同学是两个表的交集,那么,下面的代码就很适合这种情况了呵呵~~~- 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总版主之一