AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Duplikate löschen

Ein Thema von Namenloser · begonnen am 4. Okt 2012 · letzter Beitrag vom 4. Okt 2012
Antwort Antwort
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#1

Duplikate löschen

  Alt 4. Okt 2012, 05:41
Datenbank: SQLite • Version: 3 • Zugriff über: SQLite
Ich habe hier einige XML-Daten in eine SQLite-Datenbank importiert, die ursprünglich von einer Website ausgelesen wurden. Der Parser hatte allerdings ein paar Macken, weshalb manche der Daten fehlerhaft sind... also wohl ein typisches Szenario.

Ein konkretes Problem ist gerade, dass manche Datensätze mehrfach vorhanden sind – also die Datensätze sind wirklich identisch, jede Spalte ist exakt gleich.

Jetzt ist die Frage: Wie werde ich die Duplikate wieder los? Ich steh da gerade auf dem Schlauch... es gibt ja keine Möglichkeit, die identischen Datensätze voneinander zu unterscheiden – wie kann ich dann per SQL nur bestimmte löschen? Es soll ja pro identischer Gruppe immer ein Eintrag übrig bleiben. Hat da zufällig jemand ein Patentrezept?

Danke im Voraus.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#2

AW: Duplikate löschen

  Alt 4. Okt 2012, 05:43
Du hast das Problem nur, weil Du dir keinen PK definiert hast.
Versuche per SQL mit
Code:
select distinct * from TabelleMitDenDuplikation
die eindeutigen Datensätze in eine zweite Tabelle zu bugsieren, lösche die Originaltabelle und kopiere wieder zurück.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Duplikate löschen

  Alt 4. Okt 2012, 05:59
Ah, super, das hat geklappt, danke
Das ging ja schnell...

Btw: Zu den Keys: Hatte ich absichtlich zunächst nicht angelegt, weil ich nicht wollte, dass der Import-Prozess wegen irgendeinem nicht abgefangenen Fehler abbricht und ich alles noch mal von vorn anfangen muss... dachte mir, ich lese das Zeug erst mal ein, und kümmer mich dann hinterher um mögliche Probleme.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Duplikate löschen

  Alt 4. Okt 2012, 09:40
Btw: Zu den Keys: Hatte ich absichtlich zunächst nicht angelegt, weil ich nicht wollte, dass der Import-Prozess wegen irgendeinem nicht abgefangenen Fehler abbricht und ich alles noch mal von vorn anfangen muss... dachte mir, ich lese das Zeug erst mal ein, und kümmer mich dann hinterher um mögliche Probleme.
Eine Möglichkeit zur Vermeidung deines Duplikat-Problems bestünde darin, die Daten aus der XML-Datei zuerst in eine Testtabelle einzulesen, die automatisch einen fortlaufenden PK erzeugt (AutoInc bzw. Trigger und Generator). Danach durchsuchst du deine Testtabelle auf Doppelte, wirfst dieselben raus und kopierst deine Daten, die ja vermutlich einen eigenen PK mitbringen, in die "richtige", dafür vorgesehene Tabelle.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz