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.
die folgende Anweisung liefert die Zeilen mit doppelten description-Einträgen, in denen category = „0“ ist, also jene Zeilen die gelöscht werden sollen:
SELECT description
FROM Main
GROUP BY description, category
HAVING count(\*) \> 1 AND category = "0"
Mit der folgenden DELETE-Anweisung werden alle diese Zeilen gelöscht:
DELETE
FROM Main
WHERE description IN (SELECT description
FROM Main
GROUP BY description, category
HAVING count(\*) \> 1 AND category = "0")
Falls category verschiedene Werte (bei doppelten description-Einträgen) haben kann, müssten diese Werte explizit angegeben werden, z.B. (nur letzte Zeile):
Hi, bin gerade unterwegs in Frankfurt und hatte 3 Tage kein Internet im Hotel. Ich kann die Frage beantworten, bin aber gerade im Stress. Hast Du noch Zeit bis morgen, oder hat es sich schon erledigt ?