0

我有一个这样的 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

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

Fi。

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

然后应该保留一个带有 Note Test 和 Category 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 命令?

4

1 回答 1

0

网上有很多可用的资源,您可能会在此处此处看到。您也可以通过如下查询来做到这一点

DELETE
FROM MyTable
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM MyTable
GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)
于 2012-07-05T20:40:34.700 回答