Hallo,
ein uraltes Thema: wie lösche ich doppelte Datensätze in einer Tabelle?
Ich habe hier eine Tabelle mit vielen, vielen Feldern. Eines dieser Felder beinhaltet einen Termin, der mehrfach vorkommen kann, und ich möchte in der Tabelle alle Sätze so löschen, daß jeder Termin nur noch 1x übrig bleibt. Welchen Inhalt die anderen Felder haben und welcher Satz davon übrig bleibt interessiert nicht mehr.
Prinzipiell liefert diese Abfrage alle eindeutigen Terminsätze:
select distinct row_number() over(order by termin), termin from tmpLLast group by termin
Also dachte ich das:
delete from tmpLLast where ROW_NUMBER() not in (select distinct row_number() over(order by termin) from tmpLLast group by termin)
zum Erfolg führt. Statt ein n Sätze gelöscht gibt´s als Ergebnis nur ein Incorrect syntax near 'ROW_NUMBER', expected 'OVER'. Er stört sich an "delete from tmpLLast where ROW_NUMBER()", denn die Anweisung delete from tmpLLast where ROW_NUMBER() = 1 funktioniert auch nicht.
Hat noch jemand eine Idee wie ich die Sätze löschen kann?
Danke und Gruß
Andreas
ein uraltes Thema: wie lösche ich doppelte Datensätze in einer Tabelle?
Ich habe hier eine Tabelle mit vielen, vielen Feldern. Eines dieser Felder beinhaltet einen Termin, der mehrfach vorkommen kann, und ich möchte in der Tabelle alle Sätze so löschen, daß jeder Termin nur noch 1x übrig bleibt. Welchen Inhalt die anderen Felder haben und welcher Satz davon übrig bleibt interessiert nicht mehr.
Prinzipiell liefert diese Abfrage alle eindeutigen Terminsätze:
select distinct row_number() over(order by termin), termin from tmpLLast group by termin
Also dachte ich das:
delete from tmpLLast where ROW_NUMBER() not in (select distinct row_number() over(order by termin) from tmpLLast group by termin)
zum Erfolg führt. Statt ein n Sätze gelöscht gibt´s als Ergebnis nur ein Incorrect syntax near 'ROW_NUMBER', expected 'OVER'. Er stört sich an "delete from tmpLLast where ROW_NUMBER()", denn die Anweisung delete from tmpLLast where ROW_NUMBER() = 1 funktioniert auch nicht.
Hat noch jemand eine Idee wie ich die Sätze löschen kann?
Danke und Gruß
Andreas