none
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?

    Donnerstag, 5. Juli 2012 05:42

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

    Donnerstag, 19. Juli 2012 04:33

Alle Antworten