如何删除另一个表中存在的行?

eqi*_*qiz 6 sql ms-access ms-access-2007

我有两张桌子.主表是"CompleteEmailListJuly11",第二个表是"CurrentCustomersEmailJuly11".我想删除CurrentCustomersEmailJuly11基于电子邮件的CompleteEmailListJuly11表中的行.

我在删除示例后尝试了这个,但它没有做任何接近我正在尝试做的事情.这只显示了数据库中存在的那些,它没有显示不匹配的电子邮件列表.

DELETE * FROM CompleteEmailListJuly11 AS i 
WHERE EXISTS ( 
    SELECT 1 FROM CurrentCustomersEmailJuly11 
    WHERE CurrentCustomersEmailJuly11.email = i.EmailAddress
)
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助.

Mat*_*nan 10

这是我认为您需要的查询:

DELETE FROM CompleteEmailListJuly11
WHERE EmailAddress IN (SELECT email FROM CurrentCustomersEmailJuly11)
Run Code Online (Sandbox Code Playgroud)

Ps:DELETE查询不会删除单个字段,只删除整行,因此*不是必需的,您还需要"执行"此查询而不是"预览"或"导出"