Announcement

Collapse
No announcement yet.

Doppelte Einträge löschen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Doppelte Einträge löschen

    Hallo

    ich habe eine Tablle mit folgenden spalten: id, fk, date

    Code:
     select fk, count(*) from mytable group by fk having count(*) >1;
    jeder fk sollte eigentlich nur einmal vorkommen... tut er aber nicht... liefert mehrere zeilen die doppelt sind... kann ich mit einem einfachen query alle doppelten löschen, dass nur noch die mit dem aktuelsten date übrig bleiben?

    Kann mir da jemand helfen?
    danke

  • #2
    Originally posted by ARadauer View Post
    Hallo

    ich habe eine Tablle mit folgenden spalten: id, fk, date

    Code:
     select fk, count(*) from mytable group by fk having count(*) >1;
    jeder fk sollte eigentlich nur einmal vorkommen... tut er aber nicht... liefert mehrere zeilen die doppelt sind... kann ich mit einem einfachen query alle doppelten löschen, dass nur noch die mit dem aktuelsten date übrig bleiben?

    Kann mir da jemand helfen?
    danke


    hallo, dies sollte in Oracle funktionieren (Wäre gut, wenn das DBMS jeweils mit angegeben würde....)

    Code:
    SELECT *
      FROM mytable
     WHERE ROWID <> (SELECT MAX (ROWID)
    				   FROM mytable b
    				  WHERE b.fk = mytable.fk);
    ...zum anschliessenden löschen musst du es noch anpassen....

    EDIT : Du musst noch auf das max(Datum) abfragen, habe ich gerade gesehen....

    Gruss

    Comment

    Working...
    X