Sixta Gohlke
Neuer Benutzer
- Beiträge
- 1
Ich habe eine mdb-Datei mit der Struktur
Tabelle Main:
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
Ich möchte doppelte Einträge löschen, bei denen description gleich ist, sodaß je nur noch ein Eintrag übrigbleibt. Vorzugsweise soll der Eintrag übrigbleiben, bei dem category nicht "0" ist.
Wie ist der MS-Access-SQL-Befehl?
Ein Vorschlag ist
delete from MyTable
where uniqueField not in
(select min(uniqueField) from MyTable T2
where T2.dupField=MyTable.dupField)
das scheint aber als
delete from Main where Category not in (select min(Category) from Main T2 where T2.Description=Main.Description)
nicht zu funktionieren
Tabelle Main:
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
Ich möchte doppelte Einträge löschen, bei denen description gleich ist, sodaß je nur noch ein Eintrag übrigbleibt. Vorzugsweise soll der Eintrag übrigbleiben, bei dem category nicht "0" ist.
Wie ist der MS-Access-SQL-Befehl?
Ein Vorschlag ist
delete from MyTable
where uniqueField not in
(select min(uniqueField) from MyTable T2
where T2.dupField=MyTable.dupField)
das scheint aber als
delete from Main where Category not in (select min(Category) from Main T2 where T2.Description=Main.Description)
nicht zu funktionieren