Office中国论坛/Access中国论坛
标题:
关于删除查询的问题!
[打印本页]
作者:
xuchunyang
时间:
2013-1-28 11:25
标题:
关于删除查询的问题!
[attach]51219[/attach]
大家好,附件中有两个表,补考和正常考试。
现在我想做删除查询,将两个表中姓名和性别完全一样的记录,在补考表中删除。
我的语句是:
delete 补考.*
from 补考 inner join 正常考试 on (补考.姓名=正常考试.姓名) and (补考.性别=正常考试.性别);
在网上查了相关的信息之后,发现这种方法在ACCESS中不支持。
那么,如果我想实现结果,应该怎么写?
谢谢大家!
作者:
Henry D. Sy
时间:
2013-1-28 12:12
DELETE 补考.*, [姓名] & [性别] AS 表达式1
FROM 补考
WHERE ((([姓名] & [性别]) In (select 姓名 & 性别 from 正常考试)));
复制代码
作者:
roych
时间:
2013-1-28 12:35
本帖最后由 roych 于 2013-1-28 12:43 编辑
Henry D. Sy 发表于 2013-1-28 12:12
用子查询来处理,数据较多时,运行速度较慢。如果建立了关系,建议还是用内联接删除查询较佳。
这是我的实测速度和体验:
http://www.office-cn.net/thread-96763-1-1.html
http://www.office-cn.net/thread-108107-1-1.html
这是在一个旧帖里与TodayNew的交锋:
http://www.office-cn.net/thread-95852-1-1.html
楼主所说的不支持,我表示不能赞同。附件我已经看过了。首先字段方面没有设置好。在正常考试里,可以设置主键为学号的字段,在补考里同样也可以这样设置【或者设置学号为索引(有重复)】,那么建立好链接之后就可以用内联接删除了。详细请留意上面的链接。这是本人和todaynew斑竹共同探讨过的结果。
作者:
xuchunyang
时间:
2013-1-28 13:54
感谢roych的帮助,我看了您的示例。
其中的DLOOKUP没有看懂是什么意思,特别是其中的第三个参数。
按照Henry D. Sy 办法实现了我想要的结果。
谢谢两位!
作者:
笑嘻嘻哦
时间:
2013-1-28 20:02
应该这个不好删除的把
作者:
layaman_999
时间:
2013-1-28 20:08
删除查询请使用 delect * FROM 表名 where 表达式
不要使用任何jion的语句
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3