Alte Datenbank neu bestücken - Abgleich wie?

kekskruemel

Angesehenes Mitglied
Hallo Leute,

ich habe leider ein kleines Problem.

Ich habe in meiner alten Datenbank die Adressen und Namen enthalten von den Tankstellen bei Tankcheck.de

Diese knapp 2300 Datensätze sollen beibehalten werden, da ich zu diesen recht viele Preise und weiter Details inzwischen in der Datenbank habe.

Nun habe ich aber auch die kompletten Daten von fast allen weiteren Deutschen Tankstellen.

Diese Datenbank hat etwa 15600 Datensätze! Jedoch nur mit PLZ, Ort, Straße und Name.

Nun möchte ich aber ganz gerne aus diesen 15600 Einträgen die raushaben, die ich schon in der bestehenden DB habe, damit ich nur die neuen einfüge?!

Wie kann ich das machen?

Kann ich evt. beide Tabellen in Excel zusammenfassen und dann mit einem Makro doppelte bzw. Ähnlliche finden lassen?

 
Hallo

Ich geh davon aus, dass es keine id gibt, sowas wie eine "internationale Tankstellennummer". Das heisst du musst Adressen vergleichen, was ein riesen Aufwand ist. Problem beim vergleichen von Adressen: Personen-, Firmen, Strassennamen, Telefon- und sogar Hausnummern werden unterschiedlich geschrieben.

2 Varianten, je nachdem wie duplettenfrei du deine DB brauchst:

1.)
Man erstellt eine temporäre Tabelle mit den neuen Adressen (gleiche Struktur) und vergleicht Schritt für Schritt Strasse und Hausnummer, Telefon. Findet man hier Übereinstimmungen kann man diese wahrscheinlich ungeprüft löschen, man wird aber immer noch viele doppelte haben. Nun kann man wahrscheinlich noch einige doppelte Adressen mit soundex oder like finden. Hier muss man aber leider die Treffer vor dem löschen noch prüfen, ob es wirklich doppelte sind. Evtl. gibt es dann noch weitere Daten wie z.B. Emailadressen anhand denen man dopplete Einträge finden kann.

Der Weg ist halbwegs schnell (ca.2-4h), aber es bleiben wahrscheinlich einige (100-200?) Dupletten übrig.

2.)
Wenn du die DB komplett duplettenfrei willst, solltest du die neue Tabelle mit den Werten aus der alten Tabelle ergänzen. Das bedeutet aber auch, dass du die Restmenge der Adressen, die du nicht automatisch zuordnen kannst von Hand durchgehen musst oder diese Informationen verwerfen.


Um eine Entscheidung zu treffen welche Variante du wählen solltest, könntest du
CODE
SELECT count(*) from adressneu as neu, adressalt as alt where alt.strassename = neu.strassenname and alt.hausnummer = neu.hausnummer



Wenn du hiermit schon einen grossen Teil erwischst ....


Gruss

Thomas
 
Zurück
Oben