设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1853|回复: 6
打印 上一主题 下一主题

[查询] 如何修改WHERE语句

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-24 17:55:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于工作需要,我要在几个表来联合查询,得出结果,但是我写出来的语句查询速度非常慢,汗。不知道哪位可以指点一下?其中一个SQL语句如下:
SELECT CELTCHFP.EXCHID,CELTCHFP.DATE,CELTCHFP.PERIOD,SUM(CELTCHFP.TFCONGPGSM)/(SUM(RANDOMACC.CNROCNT+RANDOMACC.RAACCFA)+0.0000001)*SUM(CLTCH.TCASSALL)/(SUM(CLTCH.TASSALL)+0.0000001) as Wireless_Accessibility FROM CELTCHFP,RANDOMACC,CLTCH WHERE CELTCHFP.EXCHID = RANDOMACC.EXCHID AND CELTCHFP.DATE = RANDOMACC.DATE AND CELTCHFP.PERIOD = RANDOMACC.PERIOD AND CELTCHFP.EXCHID = CLTCH.EXCHID AND CELTCHFP.DATE = CLTCH.DATE AND CELTCHFP.PERIOD = CLTCH.PERIOD GROUP BY CELTCHFP.EXCHID,CELTCHFP.DATE,CELTCHFP.PERIOD

有别人指出问题主要在于WHERE语句造成表关联过大,那么WHERE语句该怎么改?能不能把3个条件合为一个?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-5-24 19:01:32 | 只看该作者
光看文字,头都大了。可否做一个实例传上来看看?
3#
 楼主| 发表于 2011-5-24 19:25:41 | 只看该作者
已上传,数据有点大,如果直接原来的查询运行会很慢的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
发表于 2011-5-25 10:34:09 | 只看该作者
数据不算大,可是表中的重复数据太多,简单的查询都很慢,例如
SELECT CELTCHFP.EXCHID, CELTCHFP.DATE, CELTCHFP.PERIOD
FROM CELTCHFP INNER JOIN RANDOMACC ON CELTCHFP.EXCHID = RANDOMACC.EXCHID
GROUP BY CELTCHFP.EXCHID, CELTCHFP.DATE, CELTCHFP.PERIOD;
5#
发表于 2011-5-25 10:50:50 | 只看该作者
如果你的表是导入或链接的,应该在导入或链接操作后整理一下生成简洁点的新表,如果是自建的表,就应该优化一下,去掉那么多的重复数据。
才几K的记录!我几百K的记录查询起来都要块。
6#
 楼主| 发表于 2011-5-25 14:27:06 | 只看该作者
表是从文本数据导入的,看来需要把表合并一下,谢谢!
7#
 楼主| 发表于 2011-5-25 14:51:44 | 只看该作者
再请教一下,如何把几张表快速的导入到一个新表中?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 12:58 , Processed in 0.085248 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表