Dubletten filtern - Nur die Erste mit zugehöriger ID soll erhalten bleiben!
Ein Hallo an alle,
ich hoffe, ihr könnt mir helfen: Ich möchte Dubletten aus einem großen Datenbestand filtern - ca. 50.000 Telefonnummern, Bestand ständig steigend.
Export in andere Programme ist möglich.
Die Problematik sieht folgendermaßen aus: Ich möchte, dass die jeweils erste Telefonnummer erhalten bleibt, aber samt der dazugehörigen ID-Nr.!
Beispiel:
1 123
2 123
3 456
4 123
5 789
6 123
7 456
Übrig bleiben sollte dann:
1 123
3 456
5 789
Wie kann ich das erreichen?
Ich würde mich sehr freuen, wenn jemand eine Lösung wüsste - egal ob mit Excel, Access + welchen Scripten...
LG von Dani
ich hoffe, ihr könnt mir helfen: Ich möchte Dubletten aus einem großen Datenbestand filtern - ca. 50.000 Telefonnummern, Bestand ständig steigend.
Export in andere Programme ist möglich.
Die Problematik sieht folgendermaßen aus: Ich möchte, dass die jeweils erste Telefonnummer erhalten bleibt, aber samt der dazugehörigen ID-Nr.!
Beispiel:
1 123
2 123
3 456
4 123
5 789
6 123
7 456
Übrig bleiben sollte dann:
1 123
3 456
5 789
Wie kann ich das erreichen?
Ich würde mich sehr freuen, wenn jemand eine Lösung wüsste - egal ob mit Excel, Access + welchen Scripten...
LG von Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119936
Url: https://administrator.de/forum/dubletten-filtern-nur-die-erste-mit-zugehoeriger-id-soll-erhalten-bleiben-119936.html
Ausgedruckt am: 27.04.2025 um 03:04 Uhr
14 Kommentare
Neuester Kommentar
Moin nickdaniela,
willkommen im Forum.
Grüße
Biber
willkommen im Forum.
- hat denn Deine Telefonnummernliste noch mehr Nutzdaten (also Felder) außer dem Feld "telefonnummer"?
- was ist denn diese ID? So ein automatisch von Access angebotener und leichtfertig angenommener Autowert?
- und wofür um alles in der Wert brauchst Du den? Da hast du dann irgendwann ganz viele Duplikate in Deinen Telefonnummern...
Grüße
Biber

Besteht die Möglichkeit, die fortlaufende Numerierung auf eine konstante Stellenzahl, z. b. 3 zu bringen, möglichst mit führender "0"?
Also
001 123
002 123
003 456
004 123
005 789
006 123
007 456
Ich denke dabei an eine Vorsortierung mit sort
Also
001 123
002 123
003 456
004 123
005 789
006 123
007 456
Ich denke dabei an eine Vorsortierung mit sort

Hallo, nickeldaniela,
nein, leider ist es nicht möglich, Nullen bei der ID voranzustellen.
Kannst du denn die ID wenigstens auf 3 Stellen bringen?
Dann ist ein einfaches Vorsortieren nach Stellen nicht möglich.
Vielleicht fällt Biber noch was Besseres zu SQL ein, damit kenne ich mich nicht aus.
Sonst gäbe es schon eine Lösung mit Batch, die aber mehrere Durchläufe erfordert.
Vielleicht fällt Biber noch was Besseres zu SQL ein, damit kenne ich mich nicht aus.
Sonst gäbe es schon eine Lösung mit Batch, die aber mehrere Durchläufe erfordert.
Moin nickdaniela,
mit Access (oder irgendetwas, das ein paar Brocken SQL versteht) so:
Beispiel:
Würde ein "SELECT alles/Select * from telefon" folgendes liefern
würden mit
...diese Sätze gefunden.
... bzw mit einem "DELETE * " statt "SELECT *" auch weggeknallt.
Grüße
Biber
<OT> @80220

</OT>
mit Access (oder irgendetwas, das ein paar Brocken SQL versteht) so:
- Daten in das Datenbanktool importieren z.b unter dem Tabellennamen "Telefon"
- unterstellt, dass die ID "ID" heißt und das Feld mit der Telefonnummer "Telefonnummer"
- eine neue Abfrage erzeugen und direkt als SQL eingeben
Delete *
FROM Telefon
where ID not in (Select min(ID) from Telefon group by telefonnummer);
Beispiel:
Würde ein "SELECT alles/Select * from telefon" folgendes liefern
ID telefonnummer name ort
1 123 name123 ort123
2 123 name123 ort123
3 234 name234 ort234
4 234 name234 ort234
5 444 name444 ort444
select *
FROM Telefon
where ID not in (Select min(ID) from Telefon group by telefonnummer);
ID telefonnummer name ort
2 123 name123 ort123
4 234 name234 ort234
Grüße
Biber
<OT> @80220
Vielleicht fällt Biber noch was Besseres zu SQL ein..
Vielleicht konvertiert auch der Papst zum Katholizismus.. </OT>

Edit: 08.07.09 23:51
Ich muss doch nicht mehr ganz dicht sein. Bastele hier eine funktionierende Lösung, ohne das wenigstens ein Kommentar oder ein Dankeschön kommt.
Script gelöscht
Ich muss doch nicht mehr ganz dicht sein. Bastele hier eine funktionierende Lösung, ohne das wenigstens ein Kommentar oder ein Dankeschön kommt.
Script gelöscht
Moin nickdaniela,
Im exakten Schritt-für-Schritt-Erklären bin ich nicht so gut.
Abgesehen davon bin ich auch mit der skizzerten Lösung im Nachhinein nicht ganz glücklich, bzw. wenn eine meiner blutjungen rothaarigen Praktikantinnen mit diesem konzept bei mir aufgelaufen wäre - die würde wieder einen Bus später nach Hause fahren dürfen.
Der oben skizzerte Weg ist insofern Bullshit, weil... wer holt sich schon per Export aus einer SQL-sprechenden Datenbank alle 50000 Datensätze mit je 40 Attributfeldern, um diese Kopie dann zusammenzudampfen auf die 8000 relevanten Sätze und die 2 oder 5 interessanten Felder?
Geschickter wäre es doch, das o.a. SQL direkt auf diesen Cobra-Krams (was sich nu' auch nur ne einfache MDB/Access-Datei is') loszujagen.
Lass uns den zweiten Weg mal prüfen... aber am Besten am WE über PN oder Mail (in meinem Profil).
Grüße
Biber
könntest du mir helfen + eine exakte Schritt-für-Schritt-Anleitung schreiben?
Na ja.. ab welchem Schritt klemmt es denn?Im exakten Schritt-für-Schritt-Erklären bin ich nicht so gut.
Abgesehen davon bin ich auch mit der skizzerten Lösung im Nachhinein nicht ganz glücklich, bzw. wenn eine meiner blutjungen rothaarigen Praktikantinnen mit diesem konzept bei mir aufgelaufen wäre - die würde wieder einen Bus später nach Hause fahren dürfen.
Der oben skizzerte Weg ist insofern Bullshit, weil... wer holt sich schon per Export aus einer SQL-sprechenden Datenbank alle 50000 Datensätze mit je 40 Attributfeldern, um diese Kopie dann zusammenzudampfen auf die 8000 relevanten Sätze und die 2 oder 5 interessanten Felder?
Geschickter wäre es doch, das o.a. SQL direkt auf diesen Cobra-Krams (was sich nu' auch nur ne einfache MDB/Access-Datei is') loszujagen.
Lass uns den zweiten Weg mal prüfen... aber am Besten am WE über PN oder Mail (in meinem Profil).
Grüße
Biber
Moin nickdaniela,
ich meinte auch nicht, dass ich das über die eventuell bei Cobra vorhandenen Filter/Export-Zusammenklick-Features machen wollte.
Sondern ganz normal "von außen" über irgendwas, was halb so viel SQL spricht wie ich, mich mit der Cobra.mdb (oder wie die heißen mag) verbinde und da höflich nachfrage. Nicht bei der Kundenauftragsannahme um einen Beratungstermin ersuche , sondern beim Hausmeister klingele.
Nicht von innen heraus mit Stützrädern und "Klicken Sie an, was Sie sehen wollen", sondern direkt.
Wenn diese Cobra-Jungs&Mädels irgendwann vor Jahren die Idee hatten, irgendeine Adress-Verwaltung in einem Standard-Datenbankformat auf den Markt zu schmeißen statt in einem selbst ausgedachten Dateiformat, dann hatten Sie sicherlich im Hinterkopf, dass diese Daten eben nicht nur mit einer Applikation interpretiert werden können sollen, sondern programmunabhängig sind.
Lass uns mal mailen/PNen bitte.
Grüße
Biber
ich meinte auch nicht, dass ich das über die eventuell bei Cobra vorhandenen Filter/Export-Zusammenklick-Features machen wollte.
Sondern ganz normal "von außen" über irgendwas, was halb so viel SQL spricht wie ich, mich mit der Cobra.mdb (oder wie die heißen mag) verbinde und da höflich nachfrage. Nicht bei der Kundenauftragsannahme um einen Beratungstermin ersuche , sondern beim Hausmeister klingele.
Nicht von innen heraus mit Stützrädern und "Klicken Sie an, was Sie sehen wollen", sondern direkt.
Wenn diese Cobra-Jungs&Mädels irgendwann vor Jahren die Idee hatten, irgendeine Adress-Verwaltung in einem Standard-Datenbankformat auf den Markt zu schmeißen statt in einem selbst ausgedachten Dateiformat, dann hatten Sie sicherlich im Hinterkopf, dass diese Daten eben nicht nur mit einer Applikation interpretiert werden können sollen, sondern programmunabhängig sind.
Lass uns mal mailen/PNen bitte.
Grüße
Biber