0

私は次のようなmsaccessmdb-fileを持っています:

テーブルメイン:

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

description + noteが同じである重複エントリを削除したいので、同じdescription+noteコンテンツを持つエントリが1つだけ残ります。一部のエントリのカテゴリが0である重複が2つ以上ある場合(文字列であることに注意してください)、カテゴリがゼロに等しくないものではなく、これを削除してください。

Fi。

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

次に、ノートテストとカテゴリ4の単一のDescHelloが残るはずです。

見つけた

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)

しかし、それは機能しません。

どのMSACCESSSQLコマンドをお勧めしますか?

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 に答える