sinat_38913556 2017-08-06 08:34 采纳率: 0%
浏览 1499
已采纳

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条回答

  • 战在春秋 2017-08-06 22:00
    关注

    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;  
    //这样是否可行,家里没环境,请自行调试一下。
    

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置