设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 857|回复: 3

[其它] 各位大侠帮个忙!

[复制链接]
发表于 2003-10-24 03:29:00 | 显示全部楼层 |阅读模式
在access中有
两个表分别是lq和ks   均包含ksh字段且分别是两个表的主键。
lq有3000条记录 ks有3800条记录。
要求删除ks中所有与lq表中ksh字段值相同的纪录
我要怎么怎么做呢? 尽量详细一点。多谢了。
发表于 2003-10-24 05:00:00 | 显示全部楼层
我想这样应该可以吧(先建一个选择查询,再改为删除查询)
delete * from lq where lq.ksh in (select ks.ksh from ks)
或者 delete lq.* from lq,ks  where lq.ksh=ks.ksh
发表于 2003-10-24 05:02:00 | 显示全部楼层
哦反了应该为
delete * from ks where ks.ksh in (select lq.ksh from lq)
 楼主| 发表于 2003-10-24 06:07:00 | 显示全部楼层
多谢了,弄好了。
DELETE *
FROM ks
WHERE ks.ksh in (select lq.ksh from lq);
可以的。可是为什么
DELETE ks.*
FROM lq, ks
WHERE ks.ksh=lq.ksh;
却提示无法删除记录。

还有有一点不明白,帮助上说 ///使用删除查询删除记录之后,就不能撤消这个操作了。因此,在执行删除查询之前,应该先预览即将删除的数据。为此,可以单击工具栏上的“视图” ,在“数据表”视图中查看查询 ///
可是我在数据表示视图中看到的却是3000条纪录呢?只有按下执行查询。才能看到最后的结果是800条纪录。

[此贴子已经被作者于2003-10-23 22:22:01编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 16:22 , Processed in 0.088078 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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