Jump to content

Recommended Posts

Hallo Community,

 

ich möchte gern die Kunden aus dem 1.5er Shop exportieren und habe mir da folgendes mit Hilfe bauen lassen:

SELECT l.name AS Kundengruppe,a.active AS Aktiv, a.deleted AS Geloescht, a.id_customer AS Kundennummer, a.alias AS Alias, a.company AS Firma, cl.name AS Land, a.lastname AS Name, a.firstname AS Vorname, c.id_gender AS Geschlecht, a.newsletter AS Newsletter, a.address1 AS Strasse, a.address2 AS Hausnummer, a.postcode AS PLZ , a.city AS Ort, a.other AS Zusatz, a.phone AS Telefon, a.phone_mobile AS Mobil, a.vat_number AS Steuernummer, c.email AS Email
FROM ps_address a
LEFT JOIN ps_customer c ON ( a.id_customer = c.id_customer)
LEFT JOIN ps_customer_group g ON ( a.id_customer = g.id_customer)
LEFT JOIN ps_group_lang l ON ( g.id_group = l.id_group)
LEFT JOIN ps_country_lang cl ON ( a.id_country = cl.id_country)
WHERE a.id_country > 0
AND l.id_lang = 1
AND cl.id_lang = 1
GROUP BY a.id_customer

Funktioniet soweit auch richtig gut. Nur leider werden nicht alle Kunden exportiert. Mir kommt es so vor als wenn nur Kunden exportiert werden die sich auch schonmal eingeloggt haben. Ja ich weiß, klingt blöd, wir haben aber auch einige aus dem Backend angelegte Kunden dabei. Die sollen natürlich auch exportiert werden. Gibt es da eine Möglichkeit ohne das ich mich einmal als jeder Kunde anmelden muss?

Link to comment
Share on other sites

Nein, mit Boolschen Werten hat das nichts zu tun.
Da aber die Abfrage auf die Sprache Deutsch und Deutschland beschränkt ist, können Kunden entfallen. Besser daher die Bedingungen nicht unnötig einschränken, sondern offen anlegen:

WHERE a.id_country > 0
AND l.id_lang >= 1
AND cl.id_country >= 1

In Whileys Testshop habe ich dies mal so eingegeben. Sobald du es mit deinen Bedingungen versuchst, fehlt Kunde 1, da er aus Frankreich kommt.

Link to comment
Share on other sites

@rictools:

Habe ich auch versucht aber ich finde keine wirkliche Gemeinsamkeit. Habe mich sogar als einer der Kunden angemeldet um zu sehen ob es wirklich daran liegt. Wurde danach aber trotzdem nicht exportiert.

 

@Claudiocool:

Hätte ich auch gedacht aber die nicht aktiven bräuchte er auch nicht exportieren. Aber auch aktive werden nicht exportiert.

 

@eleazar:

Wir haben momentan nur deutsche Kunden in unserem Shop. Daran kanns also nicht liegen.

Könnten es bestimmte "wichtige" Felder sein wo NULL drin steht?

Ich bearbeite gleich mal einen Screenshot um die ersten 3 Kunden bzw. deren Tabelleneinträge zu zeigen. Vielleicht sieht jemand das Problem.

Link to comment
Share on other sites

Lässt sich das im MySQL-Bereich des Webspaces nicht einigermaßen komfortabel lösen? Sind da eventuell ein paar Feldnamen geändert worden zwischen den Versionen 1.5 und 1.6?

 

Wenn du alle Kundendaten exportierst, kannst du doch im Normalfall in der Datei die Feldnamen setzen und es dann sequentiell richtig wieder einlesen lassen, das sollte doch in jedem Fall gehen.

Edited by Claudiocool (see edit history)
Link to comment
Share on other sites

Hallo Community,

 

ich möchte gern die Kunden aus dem 1.5er Shop exportieren und habe mir da folgendes mit Hilfe bauen lassen:

SELECT l.name AS Kundengruppe,a.active AS Aktiv, a.deleted AS Geloescht, a.id_customer AS Kundennummer, a.alias AS Alias, a.company AS Firma, cl.name AS Land, a.lastname AS Name, a.firstname AS Vorname, c.id_gender AS Geschlecht, a.newsletter AS Newsletter, a.address1 AS Strasse, a.address2 AS Hausnummer, a.postcode AS PLZ , a.city AS Ort, a.other AS Zusatz, a.phone AS Telefon, a.phone_mobile AS Mobil, a.vat_number AS Steuernummer, c.email AS Email
FROM ps_address a
LEFT JOIN ps_customer c ON ( a.id_customer = c.id_customer)
LEFT JOIN ps_customer_group g ON ( a.id_customer = g.id_customer)
LEFT JOIN ps_group_lang l ON ( g.id_group = l.id_group)
LEFT JOIN ps_country_lang cl ON ( a.id_country = cl.id_country)
WHERE a.id_country > 0
AND l.id_lang = 1
AND cl.id_lang = 1
GROUP BY a.id_customer

Funktioniet soweit auch richtig gut. Nur leider werden nicht alle Kunden exportiert. Mir kommt es so vor als wenn nur Kunden exportiert werden die sich auch schonmal eingeloggt haben. Ja ich weiß, klingt blöd, wir haben aber auch einige aus dem Backend angelegte Kunden dabei. Die sollen natürlich auch exportiert werden. Gibt es da eine Möglichkeit ohne das ich mich einmal als jeder Kunde anmelden muss?

 

Um dem Fehler auf die Spur zu kommen sind 2 Schritte notwendig:

1. Du überprüfst mit phpmyadmin ob die Kunden die du vermisst in der Tabelle ps_address tatsächlich vorhanden sind. Wenn ja

2. Du nimmst aus deiner sql-Abfrage alle "where and"- Bedingungen raus und schaust dir dann das Ergebnis an.

also so:

 

SELECT l.name AS Kundengruppe,a.active AS Aktiv, a.deleted AS Geloescht, a.id_customer AS Kundennummer, a. Alias AS Alias, cl.name AS Land, c.company AS Firma, a.lastname AS Name, a.firstname AS Vorname, c.id_gender AS Geschlecht, a.address1 AS Strasse, a.address2 AS Hausnummer, a.postcode AS PLZ , a.city AS Ort, a.other AS Zusatz, a.phone AS Telefon, a.phone_mobile AS Mobil, a.vat_number AS Steuernummer, c.email AS Email,  c.newsletter AS Newsletter

FROM ps_address a

LEFT JOIN ps_customer c ON ( a.id_customer = c.id_customer)

LEFT JOIN ps_customer_group g ON (c.id_customer = g.id_customer)

LEFT JOIN ps_group_lang l ON (c.id_default_group = l.id_group)

LEFT JOIN ps_country_lang cl ON ( a.id_country = cl.id_country)

GROUP BY a.id_customer

 

 

Grüsse

Whiley

Link to comment
Share on other sites

@ Claudiocool:

um den Import geht es erstmal garnicht. Ich hätte in erster Linie erstmal gern eine einzige Datei mit allen zusamengeführten Kundeninfos. Die ich dann sowohl für den neuen Shop als auch für Newsletter und andere Dinge verwenden kann.

 

@Whiley & eleazar:

Ich glaube damit konnte ich tatsächlich das Problem definieren. Einmal habe ich WHERE Bedingung raus genommen so wurden aus 127 schon 136 Einträge (wi gesagt sind eigentlich nur Deutsche im Shop) aber durch den ersten Schritt ist mir aufgefallen das nur Kunden exportiert werden die sowohl in der ps_customer als auch in der ps_address eingetragen sind...

 

Wie bekomme ich denn alle exportiert auch wenn die keine Versandadresse angegeben haben? Kann ja ruhig leere Felder enthalten wo es keine Infos gibt.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...