删除ms访问中的类似条目

时间:2012-07-05 19:52:24

标签: sql ms-access

我有一个ms访问mdb文件,如下所示:

表主要:

int recordID
int status
int placement
bool @private
string category
string note
string description
string dueDate
bool completed
int priority
byte[] blob
bool repeatOnCompleteDate
string completeDate
bool alarmSet
string alarmTime
int alarmAdvance
string repeatStartDate
string repeatInfo

我想删除其中描述+注释相同的重复条目,因此只保留一个具有相同描述+注释内容的条目。如果有两个或多个重复项,其中一些条目' category是0(请注意它是一个字符串)删除它而不是类别不等于零的那个。

网络连接。

Desc - Note - Cat
Hello - Test - 0
Hello - no - 3
Hello - Test - 0
Hello - Test - 4
Hello - Test - 0

然后应该保留一个带有Note Test和类别4的Desc Hello。

我找到了

delete from MyTable
where uniqueField not in
(select min(uniqueField) from MyTable T2
where T2.dupField=MyTable.dupField)

将其转换为

delete from Main where Category not in (select min(Category) from Main T2 where T2.Description=Main.Description)

但这不起作用。

您推荐哪种MSACCESS SQL命令?

1 个答案:

答案 0 :(得分:0)

网上有许多可用的来源,您可能会看到herehere。您也可以通过

等查询来完成此操作
DELETE
FROM MyTable
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM MyTable
GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)