How to remove row that exists in another table?

家住魔仙堡 提交于 2019-12-05 06:17:58

This is the query I think you need:

DELETE FROM CompleteEmailListJuly11
WHERE EmailAddress IN (SELECT email FROM CurrentCustomersEmailJuly11)

Ps: The DELETE query does not delete individual fields, only entire rows, so the * is not necessary, you will also need to "Execute" this query rather than "Previewing" or "Exporting"

If you're building your DELETE query in Access' query designer, notice there are two different modes of operation which seem similar to "go ahead and do this".

  1. Datasheet View (represented by the grid icon labeled "View" on the "Design" section of the ribbon). That view enables you to preview the affected records, but does not actually delete them.
  2. The "Run" icon (represented by a red exclamation point). "Run" will actually execute the query and delete the affected records.

If you already know this, my description may seem insulting. Sorry. However, it seems that folks new to Access can easily overlook the distinction between them.

hbhakhra

You can use something like this adapted to delete

  SELECT ... // complete
  EXCEPT
  SELECT ... // current

I am not sure exactly how it maps to delete but take a look at that.

I fond it in a similar question: How do I 'subtract' sql tables?

We can use Correlated Query to resolve the issue like

DELETE FROM COMPLETE C 
WHERE EMAIL = (SELECT EMAIL FROM CURR CU WHERE CU.EMAIL=C.EMAIL);
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!