Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doppelte Datensätze anzeigen



MrIch
18-08-2004, 10:10
Hallo,

ich habe folgendes Problem.
Ich habe eine Tabelle mit tausenden Personendaten.
Im Sinne von Vorname, Nachname, Ort, ... (tel, fax, mail, freitext, ...)

Nun sind aber viele Datensätze doppelt, zumindest die Felder Vorname, Nachname, Ort sind gleich.

Wie bekomme ich eine Liste aller doppelten Datensätze?

Pingu
18-08-2004, 10:21
Ich weiß nicht genau, da ich es noch nicht probiert habe, aber wie wäre es mit einem JOIN?

select a.id, a.vorname, ... from tab as a, tab as b where (a.id <> b.id AND a.vorname = b.vorname AND a.nachname = b.nachname AND a.ort = b.ort)
Aber aufpassen, nicht das dies in eine Rekursion rausläuft. Wie gesagt ich habe es hoch nicht probiert, nur überlegt.

Pingu

MrIch
18-08-2004, 10:58
naja es ist alles innerhalb einer tabelle.

Achja der DB Server ist nen mssql2k

Hans-Georg Normann
18-08-2004, 19:08
Kann es momentan nicht ausprobieren aber wenn möglich würde ich so vorgehen:


bestimme die Felder, welche zu einem eindeutigen Ergebnis führen müssen
Erstelle ein Abfrage, gruppiert nache den Felder mit einem zusätzlichem count(*)
benutze HAVING


SELECT FELD1, FELD2, FELD3, FELD4, COUNT(*)
FROM DEINETABELLE
GROUP BY FELD1, FELD2, FELD3, FELD4
HAVING COUNT(*) > 1
Ich hoffe ich habe da keine Fehler eingebaut und deine DB versteht die HAVING Clause.

Hans

elrond
20-08-2004, 11:07
alles andere gehört bestraft :rolleyes: