AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi doppelte Datensätze in Tabelle finden
Thema durchsuchen
Ansicht
Themen-Optionen

doppelte Datensätze in Tabelle finden

Ein Thema von haentschman · begonnen am 4. Nov 2007 · letzter Beitrag vom 4. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#1

doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 12:40
Datenbank: firebird • Version: 2.0 • Zugriff über: ibexpert / zeos
Hallo alle...


...ich habe meine Daten aus Paradoxtabellen in Firebird importiert.

...beim setzten des PrimaryKey meldet IBExpert das gleiche Datensätze vorhanden sind.
(Felder - Filiale, Lagerort, Artikelnummer)

...ist eigentlich unmöglich, da auch in der Paradoxtabelle Key´s vorhanden waren, welche genau das verhindert haben



die Frage: - wie kann ich in IBExpert oder über SQL die gleichen Datensätze filtern, finden ?

Hinweis: in diesem Fall sind bei den 3000 Datensätzen die Felder Filiale und Lager identisch --- nur die Artikelnummmer ist unterschiedlich. Im Prinzip muß ich die doppelte Artikelnummer finden...


Danke im Voraus...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 12:48
Wie ist den die Tabelle definiert?In der FB Tabelle eirst du die doppelten nicht finden, da diese ja nicht übernommen wurden; du musst also in der Paradox suchen.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#3

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 12:59
Hallo mkinzler...

Ich habe erst einmal die Tabellenstruktur der Paradoxtabellen und dann die kompletten Datensätze übernommen.

da ich die Struktur der Firebird Tabellen geringfügig verändern wollte habe ich die Tabellen in Firebird ohne Key´s und Indexe erstellt.

... jetzt beim manuellen Erstellen des PrimaryKey meckert IBExpert doppelte Datensätze an, welche eigentlich in der Source Tabelle nicht vorhanden sein sollten ( müßten ). ...muß wohl was schief gegangen sein !

... wie finde ich jetzt die doppelten ?
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#4

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:01
hast du die drei schlüssel als compound key's eingetragen?

ansonsten würd ich dir raten, das ganze schnell mal in excel anzuschaun... sortieren und da kannte recht leicht filtern. ansonsten, geht das auch über sql... sieh dir dazu mal subselect, group by, heaving an...
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#5

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:03
in einer ordentlichen datenbank müssen alle datensätze eindeutig über den primary key identifiziert werden. wenn du den gelöscht hast, dann meckert er natürlich, weil praktisch alles doppelt ist. leg erst mal deinen primary key an... entweder atomar oder als compound, dann müsst es auch klappen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:06
Poste mal die Strukturen der Paradox und der entsprechenden FB-Tabellen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#7

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:17
...Danke für euer Interresse.

- filtern ? wenn man nicht weiß nach welcher Artikelnummer
- 3000 Datensätze durchblättern ? bei 15 stelligen Artikelnummer ? ... habe ich nach 1 Stunde aufgegeben wg. Kopfschmerzen

ich schreibe Euch noch einmal den Ablauf:

1. Firebird Tabellen ohne Keys und Indexe erstellt... i.O.
2. Datensatze übertragen... i.O.
3. Erstellen PrimaryKey (Filiale, Lagerort, Artikelnummer)... Fehler wg. doppeltem Datensatz...
---> doppelter Datensatz sollte eigentlich nicht möglich sein, da die Paradox Tabelle auch PrimaryKey über diese Felder hatte
- was schief gelaufen ist kann ich nicht sagen.
---> welche Artikelnummer ist doppelt

4. manuelles löschen doppelter Datensatz... hätte ich gern
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#8

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:29
also...

ich habe mir noch einmal die Paradox Tabelle angeschaut.

im PrimaryKey war zusätzlich das Feld BESTAND inbegriffen. (Filiale, Lagerort, Artikelnummer, Bestand)

d.h. ich kann mir durchaus eine doppelte Artikelnummer mit anderem Bestand gespeichert haben... warum auch immer

... und die doppelte gilt es zu finden
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#9

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:31
wo ist das problem, wenn du die nach den schlüsseln sortiert hast, brauchste nur 'ne einfache abfrage in excel oder 'ne andere tabellenkalkulation machen und kannst dann auf das ergebnis 'n filter setzten. ich häng mal 'n beispiel an. <HTH>
Angehängte Dateien
Dateityp: xls beispiel_filter_134.xls (18,0 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.889 Beiträge
 
Delphi 12 Athens
 
#10

Re: doppelte Datensätze in Tabelle finden

  Alt 4. Nov 2007, 13:43
Mit folgendem SQL-Statement solltest Du Die gesuchten Datensätze finden (nur runtergetippt):
SQL-Code:
select Filiale,
       Lagerort,
       Artikelnummer
  from DeineTabelle
  group by Filiale,
           Lagerort,
           Artikelnummer
  having count (*) > 1
Es wäre unter Umständen sinnvoll, zuvor einen Index über die Felder anzulegen.

Hope it helps

onlinekater
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 09:24 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