交叉表查询无疑有使用中可以很方便的进行数据的分析处理。你可以通过向导来生成(在向导中你可以选择是否生成行合计)或者直接按照这个ACCESS特有JET-SQL语法来写这个SQL语句。
TRANSFORM合计函数
selectstatement
TRANSFORM aggfunction
selectstatement
PIVOT pivotfield [IN (value1[, value2[, ...]])]
比如现有表 table3, 数据如下
+----+---------+-------+--------+------+-------------+
|id |sName |sClass |Course |Score |homeworkScore|
+----+---------+-------+--------+------+-------------+
|1 |AAA |3 |语文 |50 |76 |
|2 |AAA |3 |数学 |83 |77 |
|3 |AAA |3 |英语 |65 |60 |
|4 |BBB |3 |语文 |86 |72 |
|5 |BBB |3 |数学 |95 |57 |
|6 |BBB |3 |英语 |58 |68 |
|7 |CCC |3 |语文 |92 |91 |
|8 |CCC |3 |数学 |75 |73 |
|9 |CCC |3 |英语 |78 |94 |
|10 |DDD |3 |语文 |83 |93 |
|11 |DDD |3 |数学 |76 |71 |
|12 |DDD |3 |英语 |77 |56 |
|13 |EEE |3 |语文 |60 |51 |
|14 |EEE |3 |数学 |76 |51 |
|15 |EEE |3 |英语 |58 |84 |
|16 |FFF |4 |语文 |85 |66 |
|17 |FFF |4 |数学 |62 |73 |
|18 |FFF |4 |英语 |60 |70 |
|19 |GGG |4 |语文 |81 |85 |
|20 |GGG |4 |数学 |80 |59 |
|21 |GGG |4 |英语 |97 |96 |
|22 |HHHH |4 |语文 |74 |75 |
|23 |HHHH |4 |数学 |88 |81 |
|24 |HHHH |4 |英语 |50 |94 |
|25 |IIIIIII |4 |语文 |95 |79 |
|26 |IIIIIII |4 |数学 |68 |53 |
|27 |IIIIIII |4 |英语 |50 |70 |
|28 |JJJJ |5 |语文 |62 |53 |
|29 |JJJJ |5 |数学 |97 |90 |
|30 |JJJJ |5 |英语 |61 |68 |
|31 |LL |5 |语文 |80 |75 |
|32 |LL |5 |数学 |95 |70 |
+----+---------+-------+--------+------+-------------+
可以用向导得到一个每人的成绩表如下
+--------+-------+---------------+-------+-------+-------+
|sName |sClass |Total Of Score |数学 |英语 |语文 |
+--------+-------+---------------+-------+-------+-------+
|AAA |3 |198 |83 |65 |50 |
|BBB |3 |239 |95 |58 |86 |
|CCC |3 |245 |75 |78 |92 |
|DDD |3 |236 |76 |77 |83 |
|EEE |3 |194 |76 |58 |60 |
|FFF |4 |207 |62
交叉表查询中的累计
最新推荐文章于 2022-07-22 18:46:55 发布
本文介绍了如何在ACCESS中使用TRANSFORM SQL语句进行交叉表查询,展示了一个每人的成绩表,并解释了如何通过UNION联合查询生成列合计,包括平均值。同时,还讨论了如何添加每个班级的小计和总计,以及如何通过灵活的SQL设计实现类似VBA程序的功能。
摘要由CSDN通过智能技术生成