![]() |
Datenbank: MSSQL • Version: 2000 • Zugriff über: ADO
Doppelte Datensätze ohne PK löschen
ich habe hier eine vermurkste DB vorliegen, die nun aber wirklich überhaupt keiner Normalisierungsnorm entspricht. Es gibt noch nicht mal Primary Keys oder sonstige Unique Constraints. Die DB an sich ist eine Kopie aus einem AS400 System und stammt aus den 70er.
Jedenfalls ist das Problem Folgendes: Ich muss Dubletten ausfindig machen (soweit kein Problem) und eine davon löschen. Im Prinzip auch kein Problem, nur sind die Datensätze nicht eindeutig identifizierbar. Beispiel:
Code:
Da SQL mengenorientiert ist, kann ich den DS "Jelly, Moderator" nicht eindeutig identifizieren. Ich kann also entweder nur beide Datensätze löschen mit
[b]Name,Funktion[/b]
Jelly,Moderator Daniel,Chäffe, Jelly,Moderator
SQL-Code:
oder eben keinen.
delete from tabelle where name='Jelly' and Funktion='Moderator'
Wie kann ich jetzt vorgehen. Ich seh da keine Lösung :?: |
Re: Doppelte Datensätze ohne PK löschen
Erzeuge eine Zieltabelle und schiebe die DS dort hinein
|
Re: Doppelte Datensätze ohne PK löschen
Du meinst ein "Select into" Konstrukt mit einer Zusatzspalte in der Zieltabelle mit einem PK?
Das könnte gehen... |
Re: Doppelte Datensätze ohne PK löschen
Ja mit select distinct kannst du ja Dupletten ausschließen.
|
Re: Doppelte Datensätze ohne PK löschen
:thumb:
Distinct vereinfacht die Sache in der Tat... Merci. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz