【交叉表查询】行列转换的魅力

本文主要是讲一下行列转换,也就是大家经常讲的交叉表查询。

行列转换在实际的应用中非常的实用,可以大大的减少工作量。

很多时候,在Excel中处理数据时,我们需要统计每个月的销量或者需要填写每个月的销量,如下图 :

图中只输入了4个月,如果需要5月份的数据,那就要手工的添加“5月”这一列,如果需要6月份数据,那就要手工添加“6月”这一列,以此类推,月份还好也就12个月,那如果是按周呢?且不说表结构是否合理,但这个工作量可想而知道。

像这样的操作还有好多人在使用,且“乐此不疲”的使用,在Excel操作还好,但Access中操作起来就比较麻烦了!

这个时候,我们就需要用行列转换的方式来解决这个问题了。

首先,表设计时,我们就需要调整一下表的结构,如下图:

接下去我们利用交叉表查询

 

SQL语句:

 

TRANSFORM sum(应收款) AS 应收款之合计

SELECT 客户, sum(应收款) AS 应收款合计

FROM tbl月度应收款统计

GROUP BY 客户

PIVOT Format(月度,"yyyymm");

 

结果:

当然也可以固定12个月

 

TRANSFORM sum(应收款) AS 应收款之合计

SELECT 客户, sum(应收款) AS 应收款合计

FROM tbl月度应收款统计

GROUP BY 客户

PIVOT Format(月度,"MM")  In ('01','02','03','04','05','06','07','08','09','10','11','12');

 

结果:

好了,大家快去试一下吧,更多文章请关注我们的公众号

 

posted @   edonsoft  阅读(34)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示