Benutzer mit den meisten Antworten
Duplikate bei besonderer MDB-Struktur löschen

Frage
-
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?
- Bearbeitet Reimund Glöckner Donnerstag, 5. Juli 2012 06:22
- Typ geändert Robert BreitenhoferModerator Dienstag, 17. Juli 2012 11:21 Frage
- Verschoben Robert BreitenhoferModerator Dienstag, 17. Juli 2012 11:41 Microsoft Access (aus:Visual C# Express-Edition)
Antworten
-
Am einfachsten startest Du Access und dort den Query Wizard. Führe dann den "Find Duplicates Query Wizard" aus. Der sollte Dir eine Liste von RecordIDs zurückliefern, die Duplikate sind. Nun kannst Du diese Query so anpassen, dass dann auch noch die Bedingung bezüglich CategoryID = 0 drin ist und solltest dann eine Query erhalten, die die RedordIDs enhält, die Du löschen willst. Speichere diese Query dann als "zu löschende Duplikate" ab.
Die Löschabfrage wäre dann folgendermassen:
DELETE FROM Main WHERE RecordID IN (SELECT RecordID FROM [zu löschende Duplikate])
HTH
Henry
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 25. Juli 2012 10:23
Alle Antworten
-
Hallo Reimund Glöckner,
Habe den Thread ins Microsoft Access Forum verschoben da er besser aufgehoben ist.
Eine Übersicht über alle verfügbaren Microsoft Foren findest Du unter http://www.microsoft.de/Community/Foren
Eine Übersicht über alle verfügbaren Microsoft Hilfe & Support-Angebot findest Du unter http://www.msdn-support.de
Ich danke Dir für Dein Verständnis!
Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Am einfachsten startest Du Access und dort den Query Wizard. Führe dann den "Find Duplicates Query Wizard" aus. Der sollte Dir eine Liste von RecordIDs zurückliefern, die Duplikate sind. Nun kannst Du diese Query so anpassen, dass dann auch noch die Bedingung bezüglich CategoryID = 0 drin ist und solltest dann eine Query erhalten, die die RedordIDs enhält, die Du löschen willst. Speichere diese Query dann als "zu löschende Duplikate" ab.
Die Löschabfrage wäre dann folgendermassen:
DELETE FROM Main WHERE RecordID IN (SELECT RecordID FROM [zu löschende Duplikate])
HTH
Henry
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 25. Juli 2012 10:23
-
Hallo Reimund Glöckner,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
RobertRobert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.