kwebkweb MemberComments: 272 Received thanks: 2 Member since: May 2015 edited December 2015
Hallo,
ich habe den Wiki-Artikel zum Erstellen der Versandkostenregeln nach Postleitzahl durchgelesen. Nun habe ich hier folgende Situation:

101,50 € sollen berechnet werden für die Postleitzahl-Bereiche

33-37
44-49

usw usw.

Mit der eigenen Versandkostenbedingung

IFNULL(us.zipcode,ub.zipcode) > '33000'
AND IFNULL(us.zipcode,ub.zipcode) < '37999'
AND IFNULL(us.countryID,ub.countryID) = 2

habe ich den ersten Versandkostenbereich abgedeckt, funktioniert auch gut. Nun meine Frage:

Wie kann ich den zweiten PLZ-Bereich dazunehmen. Ich hatte es schonmal so versucht:

IFNULL(us.zipcode,ub.zipcode) > '33000'
AND IFNULL(us.zipcode,ub.zipcode) < '37999'
IFNULL(us.zipcode,ub.zipcode) > '44000'
AND IFNULL(us.zipcode,ub.zipcode) < '49999'
AND IFNULL(us.countryID,ub.countryID) = 2

Damit bekomme ich aber eine

SQLSTATE[42000]: Syntax error or access violation:

im Warenkorb dann. Kann mir jemand sagen wie die Sytax aussehen muss?

LG
chop

Comments

  • artepartep MemberComments: 3601 Received thanks: 594 Member since: July 2010
    Hi,
    lege für die zweite Serie Postleitzahlen eine neue Versandkostentabelle an, da ja hier andere Preise gelten.

    Du hast auch oben die gleichen PLZ drin. Viell. ist das der Fehler, oder war das nur ein Beispiel???

    Ich habe es z.B. so drin:
    IFNULL(us.zipcode,ub.zipcode) = '27498'
    OR
    IFNULL(us.zipcode,ub.zipcode) = '27499'
    OR
    IFNULL(us.zipcode,ub.zipcode) = '83256'
    AND IFNULL(us.countryID,ub.countryID) = 2
  • kwebkweb MemberComments: 272 Received thanks: 2 Member since: May 2015
    Hallo Petra,
    nein, kein anderer Preis.

    Für die PLZ-Bereiche

    33-37
    44-49

    soll die Versandpauschale 101,50 € gelten.

    Muss ich deswegen immer eine eine neue Versandart anlegen, oder kann ich das bei meiner eigenen Versandregel mit einer anderen Sytax zusammenfassen?
  • artepartep MemberComments: 3601 Received thanks: 594 Member since: July 2010
    Hi,

    ach so.. ich dachte es sollen verschiedene Versandkosten sein. Nein, Du kannst alle in eins reinpacken.
    Versuch es mal so, ich hoffe es ist richtig.

    IFNULL(us.zipcode,ub.zipcode) > '33000'
    AND IFNULL(us.zipcode,ub.zipcode) < '37999'
    AND IFNULL(us.zipcode,ub.zipcode) > '44000'
    AND IFNULL(us.zipcode,ub.zipcode) < '49999'
    AND IFNULL(us.countryID,ub.countryID) = 2
  • kwebkweb MemberComments: 272 Received thanks: 2 Member since: May 2015
    artep wrote:
    Hi,

    ach so.. ich dachte es sollen verschiedene Versandkosten sein. Nein, Du kannst alle in eins reinpacken.
    Versuch es mal so, ich hoffe es ist richtig.

    IFNULL(us.zipcode,ub.zipcode) > '33000'
    AND IFNULL(us.zipcode,ub.zipcode) < '37999'
    AND IFNULL(us.zipcode,ub.zipcode) > '44000'
    AND IFNULL(us.zipcode,ub.zipcode) < '49999'
    AND IFNULL(us.countryID,ub.countryID) = 2
    Hallo Petra,
    danke für deine Mühe aber dein Ansatz funktioniert so leider nicht. Ich bekomme dann zB für die Postleitzahl 34497 Versandkosten von 0 Euro ausgegeben.

    Ich habe folgendes angelegt:
    IFNULL(us.zipcode,ub.zipcode) > '33000'
    AND IFNULL(us.zipcode,ub.zipcode) < '37999'
    AND IFNULL(us.zipcode,ub.zipcode) > '44000'
    AND IFNULL(us.zipcode,ub.zipcode) < '47999'
    AND IFNULL(us.zipcode,ub.zipcode) > '50000'
    AND IFNULL(us.zipcode,ub.zipcode) < '51999'
    AND IFNULL(us.zipcode,ub.zipcode) > '55000'
    AND IFNULL(us.zipcode,ub.zipcode) < '59999'
    AND IFNULL(us.zipcode,ub.zipcode) > '67000'
    AND IFNULL(us.zipcode,ub.zipcode) < '67999'
    AND IFNULL(us.zipcode,ub.zipcode) > '62000'
    AND IFNULL(us.zipcode,ub.zipcode) < '62999'
    AND IFNULL(us.zipcode,ub.zipcode) > '80000'
    AND IFNULL(us.zipcode,ub.zipcode) < '86999'
    AND IFNULL(us.zipcode,ub.zipcode) > '89000'
    AND IFNULL(us.zipcode,ub.zipcode) < '89999'
    AND IFNULL(us.zipcode,ub.zipcode) > '90000'
    AND IFNULL(us.zipcode,ub.zipcode) < '91999'
    AND IFNULL(us.zipcode,ub.zipcode) > '97000'
    AND IFNULL(us.zipcode,ub.zipcode) < '97999'
    AND IFNULL(us.zipcode,ub.zipcode) > '01000'
    AND IFNULL(us.zipcode,ub.zipcode) < '03999'
    AND IFNULL(us.zipcode,ub.zipcode) > '08000'
    AND IFNULL(us.zipcode,ub.zipcode) < '14999'
    AND IFNULL(us.zipcode,ub.zipcode) > '16000'
    AND IFNULL(us.zipcode,ub.zipcode) < '16999'
    AND IFNULL(us.zipcode,ub.zipcode) > '20000'
    AND IFNULL(us.zipcode,ub.zipcode) < '22999'
    AND IFNULL(us.zipcode,ub.zipcode) > '29000'
    AND IFNULL(us.zipcode,ub.zipcode) < '32999'
    AND IFNULL(us.zipcode,ub.zipcode) > '38000'
    AND IFNULL(us.zipcode,ub.zipcode) < '39999'
    AND IFNULL(us.zipcode,ub.zipcode) > '99000'
    AND IFNULL(us.zipcode,ub.zipcode) < '99999'
    AND IFNULL(us.countryID,ub.countryID) = 2
    
    Grundlage für die Berechnungen soll diese Tabelle sein:

    Klick

    Ich möchte erstmal die PLZ Bereiche mit 101,50 € anlegen.

    Vielleicht hast du noch eine Idee?

    LG
    chop
  • kwebkweb MemberComments: 272 Received thanks: 2 Member since: May 2015
    Niemand sonst mehr eine Idee wie man das zusammenfassen kann? :/
  • kwebkweb MemberComments: 272 Received thanks: 2 Member since: May 2015
    Nochmal Push.....

    Ich komme leider nicht weiter. Kann mir jemand vom Team nicht zumindest sagen ob es prinzipiell möglich sein kann, oder ob ich für jeden PLZ-Bereich eine eigene Versandart anlegen muss.

    Nochmal zusammengefasst:

    Es funktioniert nur wenn ich einen PLZ-Bereich angebe, zB.:
    IFNULL(us.zipcode,ub.zipcode) > '33000'
    AND IFNULL(us.zipcode,ub.zipcode) < '37999'
    AND IFNULL(us.countryID,ub.countryID) = 2
    
    Sobald ich es mit 2 Bereichen mache, zB:
    IFNULL(us.zipcode,ub.zipcode) > '33000'
    AND IFNULL(us.zipcode,ub.zipcode) < '37999'
    AND IFNULL(us.zipcode,ub.zipcode) > '44000'
    AND IFNULL(us.zipcode,ub.zipcode) < '47999'
    AND IFNULL(us.countryID,ub.countryID) = 2
    
    Wird die Versandregel komplett ignoriert. Konfiguriert habe ich eine Standardversandart von 0 € bis beliebig und die Versandkostentabelle mit den PLZ Bereichen als Aufschlags-Versandart, ebenfalls von 0 € bis beliebig.

    Bräuchte dringend Hilfe, das muss doch irgendwie möglich sein :/

    LG
    chop
  • InternetInternet MemberComments: 36 Received thanks: 2 Member since: October 2014
    Hallo kweb,

    hast Du eine Lösung gefunden?
    Geht es, wie von artep vorgeschlagen, mit OR?

    Viele Grüße
  • pemmlerpemmler MemberComments: 438 Received thanks: 76 Member since: January 2015
    Nur mal so als Zwischenfrage.
    Was ist der Usecase dafür?
  • verpacken24verpacken24 MemberComments: 568 Received thanks: 95 Member since: May 2012
    Probier mal:
    ((IFNULL(us.zipcode,ub.zipcode) >= '33000'
    AND IFNULL(us.zipcode,ub.zipcode) <= '37999') || (IFNULL(us.zipcode,ub.zipcode) >= '44000'
    AND IFNULL(us.zipcode,ub.zipcode) <= '47999'))
    
    Das Land kannst Du über den Reiter "Länder Auswahl" steuern.
  • pemmlerpemmler MemberComments: 438 Received thanks: 76 Member since: January 2015
    Ich probier lieber nix.
    Komischer Kauderwelsch da oben. ;-)

    Ich sag als eCommerce-Praktiker meist immer nur was nicht geht oder was ich brauche...
    Nur wenn ich mal auf Superman mache, spiele ich mit den Codes. ;-)

    Ich würde gerne mehr über den Grund der PLZ Einschränkung erfahren.
    Möchtest du ein Bundesland aus politischen Gründen komplett ausgrenzen oder sind die Versandkosten in manche Gegenden höher/niedriger....

    Gruß Patrick
  • HotteHotte MemberComments: 52 Received thanks: 5 Member since: May 2015

    Hallo Patrick,

    ich habe ein Ähnliches Problem.

    Der Hintergrund ist in der Tat, dass Spedition PLZ in Zonen einteilen und die kosten teilweise dramatisch auseinander gehen.

    Hierbei lassen die Speditionen scheinbar die durchschnittliche Häufigkeit der anlieferung in einem PLZ-Gebiet mit einfliessen, so sind Ballungszentren und direkte umgebung günstiger als andere Lagen.

    Zusätzlich schlägt sich im Preis natürlich die entfernung vom Lager / Versender zur Ziel - PLZ deutlich nieder.

    Ich hoffe, dass beantwortet die Frage nach dem Warum :-)

    Viele Grüße

    Hotte

     

Sign In or Register to comment.