Neu Doppelte Kundendaten in der Shop Datenbank

Raphael1985

Aktives Mitglied
29. August 2011
58
7
Wir haben in der Shop-Datenbank festgestellt, dass seit 2017 regelmäßig doppelte Kunden (3924) angelegt werden. JTL sagt, dass ihnen dies nicht bekannt ist und das nur wir das Problem haben. Ich kann mir jedoch vorstellen, dass es auch bei anderen Shops passiert, nur dass man es dort nicht bemerkt.

Die doppelten Kunden werden bei der Registrierung angelegt. Die Kundennummer ist in der Regel fortlaufend, also zum Beispiel ein Kunde mit der E-Mail test@test.de erhält die Kundennummer 102, und dann wird der gleiche Datensatz mit der Kundennummer 103 angelegt.

Ich würde mich sehr freuen, wenn ihr in eurer Shop-Datenbank einmal nachschaut, ob auch bei euch doppelte Kundendatensätze vorhanden sind, indem ihr die folgende Abfrage in der Tabelle tkunde verwendet:


SELECT t1.cMail, t1.kKunde, t1.dErstellt
FROM tkunde t1
JOIN tkunde t2 ON t1.cMail = t2.cMail AND t1.kKunde != t2.kKunde
WHERE t1.cMail IN (
SELECT cMail
FROM tkunde
GROUP BY cMail
HAVING COUNT(*) > 1
)
AND t1.cMail != 'Anonym';

Gibt bitte Feedback, ob bei euch auch doppelte Kundendatensätze vorhanden sind.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Ich habe das Problem bisher in noch keinem Shop feststellen können, was bei dir aber auffällig ist:

Ein Kunde im Shop hat keine Kundennummer, es sei denn die Kundendaten wurden über die WAWI, aktualisiert, dies wiederum passiert nur wenn du die Kundendaten in der WAWI änderst.
Und jede Aktualisierung der Kunden im Shop, bezieht sich soweit ich weiß, auf die E-Mail des Kunden.

Und deine Abfrage ist für mich fehlerhaft, du musst auch abfragen, ob das ein Registrierter Kunde ist.
 

Raphael1985

Aktives Mitglied
29. August 2011
58
7
Ich habe das Problem bisher in noch keinem Shop feststellen können, was bei dir aber auffällig ist:

Ein Kunde im Shop hat keine Kundennummer, es sei denn die Kundendaten wurden über die WAWI, aktualisiert, dies wiederum passiert nur wenn du die Kundendaten in der WAWI änderst.
Und jede Aktualisierung der Kunden im Shop, bezieht sich soweit ich weiß, auf die E-Mail des Kunden.

Und deine Abfrage ist für mich fehlerhaft, du musst auch abfragen, ob das ein Registrierter Kunde ist.
Ich meine nicht die Kundennummer, sondern den kKunde, also die ID für jeden neuen Kunden in der Shop-Datenbank.
Ich habe die Abfrage um „ AND t1.nRegistriert = 1 “ erweitert, aber das Ergebnis ist das gleiche.
Hast du die Abfrage wirklich mal ausgeführt? Ich habe es ja auch die letzten 7 Jahre nicht wahrgenommen.“
 

NoOne

Sehr aktives Mitglied
16. März 2024
673
231
Ich hab das hiermit geprüft:
SELECT DISTINCT
t1.cMail,
t1.kKunde,
t1.dErstellt
FROM tkunde t1
JOIN tkunde t2
ON t1.cMail = t2.cMail
AND t1.kKunde <> t2.kKunde
WHERE t1.cMail <> 'Anonym'
AND t1.nRegistriert = 1
AND t2.nRegistriert = 1;

Keine doppelten.
Mit der Abfrage von oben kriege ich zwar eine Ausgabe, aber alle nur mit gleicher ID für kKunde. Nix wirklich doppeltes.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.648
2.700
Berlin
Firma
css-umsetzung
Richtig, wenn ich es mit seiner Abfrage mache bei ca. 150 000 Kunden, dann bekomme ich ein utopisch hohes Ergebnis egal ob mit t1.nRegistrierung oder nicht, weil das Ergebnis fehlerhaft ist
mit der Abfrage von @NoOne sieht das schon ganz anders aus, da sind es 59 Kunden

Das passiert bei dem Kunden seit 2018, die Kunden wurden immer zur gleichen Zeit, doppelt und auch dreifach angelegt und das zieht sich wie es scheint durch alle Shop Versionen. ist nicht unbedingt schön, scheint aber keine Probleme zu machen.

Zwischen 2023 und 2025 sowie zwischen 2019 und 2023 gab es jeweils eine längere Pause.

Das muss nicht unbedingt ein Problem vom Shop sein, dass kann auch durch ein Plugin passieren.
 

dapole

Sehr aktives Mitglied
27. Oktober 2014
155
30
Ich möchte hier noch garnicht schireben was mir aufgefalllen ist ...
Aufgrund einer Shoppmigration wurde fdestgestellt, dass gerada in Bezug Lieferadresse / Rechnungsadresse diverse 'unstimmigkeiten' herrschen.

Da ich das Problem noch nciht einordnen konnte, möchte ich auch nicht PAnick machen.

Wenn ich das mal in Ruhe durchschaut hab, und sich daraus ein Muster / Raster erkennen lässt, lasse ich es euch wissen ....

(Um es aber kuirz zu fassen, in tBestellung steht z.B. kLoieferadresse 13 ... Die tabelle tLieferadresse hat aber auch eine Spalte kKunde ... .-> und diese passt nicht zum kkunden aus tBestellung .... ( so ganz ganz grob angerissen)

-> Aber durchaus suspekt....
 

NoOne

Sehr aktives Mitglied
16. März 2024
673
231
Dahingehend ist mir nichts bekannt. Sowas könnte aber durch vermasselte Backups bzw. deren Wiederherstellung kommen. Oder eben eine unfachmännisch durchgeführte Migration oder Datenbankmanipulation. Ein Zahlendreher, eine falsche WHERE Klausel... Es gibt Leute, die gerne mal vergessen, dass man eine SQL-Abfrage ohne Backup nicht zwangsläufig rückgängig machen kann. Wenn man z. B. Kundengruppen deaktiviert und die alte Kundengruppe einer neuen zuweist, dann sollte die neue korrekt sein. Denn sonst kann man das ohne Backup nicht mehr korrigieren. Weil man sonst auch den vorherigen Kunden der Kundenruppe, die da eigentlich auch korrekt waren, dann die dritte Kundengruppe zuweist...

Fehlende AutoIncrements durch unsachgemäße Backups können auch einige Probleme verursachen. Gerade mit Lieferadressen. Weil der Wert 0 in Tabellen mit AutoIncrement nicht existiert und deswegen als Lieferadresse = Rechnungsadresse gilt. Wenn der AutoIncrement in tlieferadresse jetzt aber fehlt, dann existiert doch ein Eintrag 0... And Chaos will ensue...
 

Ähnliche Themen