打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
向Access学SQL,将一维表变成二维表
userphoto

2017.11.29

关注

SQL,全称叫Structured Query Language,结构化查询语言。SQL在Excel处理时可以发挥十分重要的作用,尤其是在处理大量数据时很有优势。所以我们有必要学习、了解一些SQL的知识和具体用法。大家都知道Office软件中还有一个十分有用的小型数据库软件Access,今天我们就向Access取经,学习一个经典SQL语句,将一维表变成二维表。

比如,在数据库中有以下销售记录的表。

我们希望做成如下所示的汇总表。这个表的特点是,“产品名称”在第一列,月份变成了列字段,类似于做了数据透视,将“月份”字段拖到了列字段上。

下面我们介绍一下详细步骤。

在Access中点击【创建】选项卡中的“查询向导”,在第一步中选择“交叉表查询向导”。

在下一步的对话框中选择“销售记录”表。

在下一步对话框中选中“产品名称”字段,点击按钮添加到右侧“选定字段”列表中,这是作为行字段来显示的。

在下一步中选择“月份”作为列字段。

在下一步中选择“数量”作为值字段,计算方式选择“总数”。

在最后一步中选择“查看查询”,查询名称保存为“销售汇总”。

点击“完成”后打开查询结果如下。

这时,我们来看看Access中自动生成的SQL语句。

在“销售汇总”标签上点击右键菜单中的“SQL视图”,可以查看自动生成的SQL语句。

这个语句中有两个关键的地方:Transform和Pivot。

Transform后面跟着的是汇总的值字段,Pivot后面跟着的是列字段,中间的Select...From...Group by...是我们常见的查询语句。

    TRANSFORM Sum(销售记录.[数量]) AS 数量之合计

    SELECT 销售记录.[产品名称], Sum(销售记录.[数量]) AS [总计 数量]

    FROM 销售记录

    GROUP BY 销售记录.[产品名称]

    PIVOT 销售记录.[月份];

我们看到上面的查询结果中有一列是汇总的,如果要取消这一项,只需要将Select语句中的Sum项删掉即可,如下示例。

    TRANSFORM Sum(销售记录.[数量]) AS 数量之合计

    SELECT 销售记录.[产品名称] 

    FROM 销售记录

    GROUP BY 销售记录.[产品名称]

    PIVOT 销售记录.[月份];


通过这个示例,我们应该就比较容易理解Transform...Pivot...语句的作用和可以实现的效果了。中间的Select语句我们还可以根据需要更改为更复杂的查询语句,比如Union、Join查询等。

类似的SQL语句也可以直接应用到Excel的SQL查询中。小伙伴们,根据这个语句,你想到什么好的应用方式了吗?

--End--

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何在 access 中使用 sql 实现透视表功能
[教程]Access中交叉表查询的应用
多表汇总,实用又好玩儿
分步法实现复杂查询(基本不用SQL语句)[Access软件网]
用sql语句更新数据表
史上最全面的SQL学习资料!神级程序员整理给近期实习生学习的!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服