使用连接查询的SQL选择有效,但删除不起作用

时间:2012-10-17 08:05:10

标签: sql ms-access

I have two tables Table1 and Table2. I compared thes tables using the query below. SELECT 

Select Table1.ID
     FROM Table1
     LEFT OUTER JOIN Table2 
    ON Table1.ID =Table2.ID
     WHERE Table2.ID IS NULL 

并获得表1中存在的1508条记录,但不存在于表2中。 现在我想删除Table2中的这些记录。这是我在下面使用的代码

 DELETE Table1.*
    FROM Table1
     LEFT OUTER JOIN Table2 
    ON Table1.ID =Table2.ID
     WHERE Table2.ID IS NULL 

这是我得到的错误无法从指定的表中删除。我意识到我的sql有问题,但在哪里。我以为这个DELETE指的是一个表而不是表。

1 个答案:

答案 0 :(得分:1)

试试这个:

DELETE FROM Table1
WHERE ID NOT IN
(
    SELECT ID
    FROM table2
)