access 删除数据的问题

DELETE emp1.*
FROM emp1 INNER JOIN emp2 ON (emp1.cum1=emp2.cum1)AND
(emp1.cum2=emp2.cum2);
这个sql无法执行 显示 无法从指定数据表中删除
DELETE DISTINCTROW emp1.*
FROM emp1 INNER JOIN emp2 ON (emp1.cum1=emp2.cum1)AND
(emp1.cum2=emp2.cum2);
这个sql可以正常删除

为什么呢

1个回答

emp1表和emp2表使用 非主键 进行join操作时,emp1表可能会产生 重复行
这种情况下,Access执行Delete命令会感到迷惑。
因此需要加上 DISTINCTROW 关键字。

实际上,并不建议用Left Join、Right Join、Inner Join来删除某张表的记录。
除了存在上述指出的问题,性能也不好。

回到题目,楼主可以再分析下逻辑,是否一定要使用join。

DELETE emp1.*
FROM emp1 WHERE emp1.cum1=emp2.cum1 AND
   emp1.cum2=emp2.cum2;  
//这样是否可行,家里没环境,请自行调试一下。

如果对您有帮助,请采纳答案好吗,谢谢!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐