使用带条件的SQL删除Access中的记录

时间:2015-04-16 16:38:27

标签: ms-access

我有一个访问表,其中有几列。在某些情况下,第一列和第二列匹配另一条记录,但最后一列对每条记录具有不同的值。我想编写一个遍历表的SQL代码,并且只有在最后一行具有特定值时才删除其中一个重复项。

我是VBA和SQL的新手,但是我的工作需要它们。

我对python有着不错的体验,但语法不太相似,只是总体思路。

我知道这应该是一件非常简单的事情,如果是这样的话,应该只占用几行。

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用此:

DELETE FROM yourTable
WHERE 
  lastRow = 'particularValue' AND 
  (
  col1 IN (
    SELECT DISTINCT col1, count(*)
    FROM yourTable
    HAVING count(*) > 1 )
  OR
  col2 IN (
    SELECT DISTINCT col2, count(*)
    FROM yourTable
    HAVING count(*) > 1 )
  )

未经测试的代码。我相信你能解决它。请记住发布最终解决方案。