
提示:在完成字段选择后的第二项,不要忘记选择“汇总”及“汇总选择”,然后再再根据提示进行 *** 作。
希望我的回答对你有帮助,如有疑问可以留言或在线交流。
额,可以这样
你表太多,我就拿三个表举例,但是你表结构都不一样,有的有ID,有的没ID,比如你就挑几个有用的字段吧,新建一个查询,然后选择sql视图,输入以下语句,然后执行
select t大类,sum(t销售额) as 总销售额from
(select 大类,销售额 from [2012-1单]
union all
select 大类,销售额 from [2012-2单]
union all
select 大类,销售额 from [2012-3单]) as t
group by t大类1、Access 数据库多表联合查询,每次连接之前须将连接符前面的内容放在括号里面,示例如:select 表a字段1,表b字段1,表c字段1,表d字段1 from ((表a inner join 表b on 表a字段=表b字段) inner join 表c on 表c字段=表a字段)inner join 表d on 表a字段=表d字段
2、如果每个联合字段不止一个可将on后面条件加(),如:select 表a字段1,表b字段1,表c字段1,表d字段1 from (表a inner join 表b on (表a字段1=表b字段1 and 表a字段2=表b字段2)) inner join 表c on 表c字段=表a字段
3、如果要一次联合一个表多次,但条件不同,可以每次连接此表时给此表换个别名,用别名 *** 作即可,如:select aa字段1,表b字段1,表c字段1,bb字段2 from ((表a as aa inner join 表b on aa字段1=表b字段) inner join 表c on 表c字段=表a字段)inner join 表a as bb on 表a字段=bb字段2题主这个问题不存在简单的回答,需要具体情况具体分析解决。
多表汇总跟单表汇总本质上是一样的,基本方法无非就是使用聚合函数(通常需要配合group by子句一起使用)来检索出汇总信息。多表汇总一般需要使用连接与联合这两种手段将来自不同数据表的数据合并在一起。对于多表连接,我们需要特别注意它的笛卡尔乘积输出规则所导致的记录行数增大效应,否则汇总出来的数字很可能就会不正确!请注意笛卡尔乘积输出规则对于任何类型的表间连接方式的影响作用都是一样的,不论它是内连接、外连接、一对多或者多对多关系等等。
例如A表ID=1的记录有2行,B表ID=1的记录有3行,那么A、B两表基于字段ID连接后,ID=1的记录行数将输出2x3=6行,直接对连接后得到的记录集实施汇总显然就会不正确。
那么SQL多表汇总如何规避"笛卡尔"乘积输出规则的影响呢?一是先对单表实施汇总,然后才进行连接;又或者在确保至少一方表是唯一的情况下实施连接,因为1乘以任何数还是任何数,"笛卡尔"乘积输出规则不会令到连接后的记录集行数增多。
具体的多表汇总方法需要考虑的问题很多,当然不止上述因素,还是那句话需要具体问题具体分析。这个用汇总查询就行了,还用不着交叉表查询。
用简单查询向导,确定,然后选表2作为数据源,选车间名称和生产数据为选定字段,下一步,选汇总,点汇总选项,点汇总,确定,完成。
查询生成后就与表1差不多了,然后你将查询种类改成追加查询,就能将数据加到表1中了。重大三违
right
join
处罚记录汇总
on
(重大三违被检单位
=
处罚记录汇总被检单位)
and
(重大三违班次
=
处罚记录汇总班次)
and
(重大三违检查日期
=
处罚记录汇总检查日期)
where
(((处罚记录汇总检查日期)
between
#12/26/2014#
and
#1/25/2015#)
and
((处罚记录汇总被检单位)
not
like
"矿")
and
((处罚记录汇总检查类型)<>"事故追查"))
order
by
处罚记录汇总检查日期
desc;
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)