SQL删除查询,其中删除了不匹配的记录



我试图让一个删除查询正常工作,但不断出现运行时错误。我想做的事情:取一个表,将其与另一个表进行比较,并删除后一个表中id字段不匹配/为空的记录。基本上,我试图删除第二个表中的记录,但不在第一个表中。

我的查询的SQL如下(它是由访问生成的,可能完全错误):

DELETE [Training Summary].*
FROM [Training Summary] LEFT JOIN [Temporary for MRC Update] ON [Training Summary].[DHV ID Number] = [Temporary for MRC Update].[Id]
WHERE ((([Temporary for MRC Update].Id) Is Null));
DELETE Table2.*
FROM Table2
WHERE ID NOT IN (
     SELECT ID
     FROM Table1
)
DELETE * FROM [Training Summary]
WHERE [DHV ID Number] NOT IN (
     SELECT [Id]
     FROM [Temporary for MRC Update]
)

这与您想要的相反。它将删除在第一个表中但不在第二个表中的记录。只要把名字换一下就行了。

最新更新