Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

交叉表查询问题

chinasa  发表于:2012-11-27 10:27:05  
复制

在“源表”中,“拥有汽车数”是以家庭为单位的,我在“源表_交叉表”查询中计算“拥有汽车数”时,数据被重复计算了,比如:YY村的汽车数应该是5+1=6,而我计算出的结果为11。请问怎样才能准确计算出该数字?

   输出格式与“源表_交叉表”相同。

 

备注:原始表没办法改变,所以表格结构设计不合理的问题暂不考虑。DSUM

 

Top
huangjing 发表于:2012-11-27 13:44:06
你查询是对的,根据表格数据应该得到的数量就是11没有错啊

chinasa 发表于:2012-11-27 16:11:24
YY村有两个家庭,分别有5辆车和1辆车,正确的应该有6辆车。(其中有5辆车的家庭有两个家庭成员,所以5重复显示了两次。)。相同村的相同家庭汽车数应该只计算一次,无论其有几个家庭成员。

陈玉才 发表于:2012-11-27 23:16:09
 

既然原表结构不合理,那就在查询中来给他分解开:

在查询中,先建立这样一个表:

1、各村各家庭拥有的车辆数:gcjtcls

    结构如图:

 

为什么选择最大值呢,就是怕重复,如果选择最小值,或者平均值,就不能计算出这各家庭的拥有最大车辆数了

2、然后建立各村车辆数总库:gccls

  结构如图:

           

 

 

3、建立交叉表

结构如图:

最终效果:

 

不知道这样做是不是你要的效果:

附件DSum查询



chinasa 发表于:2012-11-28 08:01:25
非常感谢陈老师的指点,输入的格式是我想要的,我之前也是采取类似方法的(我选的不是最大,而是分组)。但此方法如果数据量很大的话,效率会比较低,运行速度比较慢。不知道是否还有其它办法?

陈玉才 发表于:2012-11-28 11:49:18

这是按照你的要求最有效率的办法了。

再有就是分解你的原始表了,你的原始表结构有问题,只能这样进行整合。



爱好 发表于:2012-11-28 12:00:06
先过渡一下,就有了想要的结果!点击下载此附件

陈玉才 发表于:2012-11-28 14:20:14
6楼的不要误人子弟,假如家里不只有爷爷奶奶爸爸妈妈,还有大哥二哥三哥四个什么的,你还怎么过渡?

chinasa 发表于:2012-11-28 15:29:11

感谢“爱好”的指点,不过正如“陈玉才”所说,确实成员不确定。

陈老师,感谢你的指点。

大家看看还有其它办法吗?如果没有办法了我就准备结束这个贴子了。



爱好 发表于:2012-11-28 15:44:13
查询从来没有难住我。看下面这个点击下载此附件 也许考虑不周。恳请赐教。

chinasa 发表于:2012-11-28 15:57:59
爱好老师,你好!您的方法同样可以实现。不过效率应该也差不多。

总记录:10篇  页次:1/1 9 1 :