Auf Thema antworten

Meine Frage war ob die Daten (vermutete Dubletten) ungesehen gelöscht werden sollen (durch DELETE) so das bei einem Select auf die Tabelle nur noch ein Datensatz pro Kunde übrig bleibt. Das würde ich nicht empfehlen sondern ich würde doppelte Datensätze manuell sichten und dann einzelne löschen. Siehe dazu die Abfrage mit meinem Code aus #2.


So wie du es schreibst klingt das so als wolltest du mit einem Select zukünftig Dubletten ausblenden aber dann mit den verbliebenen Daten weiterhin "arbeiten" wollen, das wird natürlich zu purem Chaos führen.


Deine neue Einschränkung zeigt, das das Thema keineswegs trivial ist. Um deine Beispieldaten zu bereinigen genügt natürlich die PLZ als weiteres Kriterium aber es kann ja auch zwei valide Adressen im selben Ort geben und dann wird es schnell sehr ungenau. Erweiterst du um Straße werden Schreibweisen relevant, usw.


Hier ein Select der aus deinen Beispieldaten dein Wunschergebnis macht:

[CODE]WITH t AS (

SELECT ROW_NUMBER() OVER (PARTITION BY KDNR,PLZ ORDER BY Strasse) AS zeile,*

FROM tabelle )

SELECT * FROM t WHERE zeile = 1[/CODE]


Zurück
Oben