Doppelte Einträge aus einer Tabelle entfernen?

Hallo,
also ich habe ein kleines Problem mit einer Tabelle

Ich habe 2 Tabellen (mitarbeiter und abteilung)

Primary Key = persNR (ist in beiden Tabellen)

Nun habe ich ein Problem ich habe daten aus einer CSV datei Importiert
(zuerst in eine Import Tabelle) und danach aufgeteilt auf die beiden anderen Tabellen wobei die PERSNr über eine SEQUENCE erzeugt wird.

Nun habe ich aber Einträge doppelt: (Name Vorname und GEBDATUM sind gleich)

Diese doubletten möchte ich gerne herausfiltern und löschen!

Also einmal anzeigen lassen und dann löschen!

Nur leider bin ich noch auf keinen SQL Befehl gekommen der das macht!


Vielleicht könnt ihr mir ja helfen!


MfG
MCBURNS

Hallo mcburns,

weil es dafür keinen SQL-Befehl gibt.

Um die Datensätze zu entfernen muss man eine Funktion schreiben, die folgende Arbeitsschritte ausführt:

  1. Finden aller Datensätze deren COUNT > 1 ist.
  2. Die überflüssigen Datensätze anschließend löschen.

Die Funktion kannst Du mit Programmiersprache PL/pgSQL erstellen.



mfg

fristo

Schau dir mal die Befehle

Distinct

HAVING

usw. an

http://www.postgresql.org/docs/8.1/interactive/queries-table-expressions.html#QUERIES-GROUP