【发布时间】:2014-12-29 21:55:39
【问题描述】:
我的最终目标...SELECT 来自qry1 的所有字段位于家庭电话、手机或工作电话与tbl2 匹配的行上
这是我当前“失败”的 SQL 语法。失败是指它在 10-15 分钟后尚未完成执行,而个人加入每个(独立)运行一两分钟。
SELECT qry1.*
FROM qry1 INNER JOIN tbl2
ON ((qry1.CellPhone = tbl2.CellPhone)
OR (qry1.HomePhone = tbl2.HomePhone)
OR (qry1.WorkPhone = tbl2.WorkPhone));
问题: 我的 SQL 语法有错误吗? 有没有更好的方法来完成我的任务? 对我来说,简单地独立运行 3 个(家庭、工作、单元)JOIN 查询,将它们联合起来,然后在必要时进行重复数据删除是否更有意义?
【问题讨论】:
-
您的 SQL 语法没有错误;如果有,查询将不会运行。桌子大概有多大?每行有多少行,以及典型的行大小。结果集中大概有多少行?这主要是出于好奇——但每个单独的查询需要 1-2 分钟,这表明表必须非常大。
-
在 Excel(xlsx 格式)中,馈送 qry1 的较大表格为 80 MB,tbl2 为 50 MB。 tbl2 非常宽。
标签: sql ms-access ms-access-2010