| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1325 人关注过本帖
标题:请教:如何替换 sele... not in 语句
只看楼主 加入收藏
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:4 
请教:如何替换 sele... not in 语句
有两张表 联系情况.dbf 及 亲属.dbf ,想从联系情况表中找出 非亲属联系的全部记录。用下面的命令可以实现:
SELECT a.姓名,a.联系人,a.联系电话 FROM 联系情况 as a, 亲属 as b WHERE a.联系人  NOT in  (SELECT 亲属 FROM 亲属,联系情况 WHERE  联系情况.姓名==亲属.姓名)

但因为数据量比较大,运行查询到50%左右就出现临时文件太大的提示。
用set relation to 总做不对,求助各位大神!谢谢!

练习.rar (629 Bytes)
搜索更多相关主题的帖子: 替换 姓名 联系 sele not 
2022-02-12 18:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:20 
图片附件: 游客没有浏览图片的权限,请 登录注册

程序代码:
USE 联系情况 IN 0 ALIAS a
USE 亲属 IN 0 ALIAS b
SELECT b
INDEX on 姓名+亲属 TAG tag_b
SELECT a
SET RELATION TO 姓名+联系人 INTO "b"
BROWSE FOR !FOUND("b")
2022-02-12 19:42
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
回复 2楼 吹水佬

正确!解决了!非常感谢!

就是原理没太弄明白,我再消化消化。
2022-02-12 20:53
ntxscwk
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:118
专家分:352
注 册:2012-6-23
收藏
得分:0 
回复 2楼 吹水佬
将a->(姓名+联系人) 和b->(姓名+亲属) 均看成整体,两者比较,未发现的即为结果。
这样理解对吗?
2022-02-12 21:06
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用ntxscwk在2022-2-12 21:06:42的发言:

将a->(姓名+联系人) 和b->(姓名+亲属) 均看成整体,两者比较,未发现的即为结果。
这样理解对吗?

不清楚,也是猜的。
从数据结构和筛选条件看: “联系人”和“亲属”属性相似
2022-02-13 08:51
快速回复:请教:如何替换 sele... not in 语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035395 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved