Versandkostenberechnung mit Attr und gruppierten Kosten

Hallo Community, ich hänge da an einer auf den ersten Blick einfachen aber dann doch kniffligen Aufgabe für die Versandkostenberechnung. Aufgabe: Es gibt Artikel die haben die Versandkosten im Attribut-Feld hinterlegt und es gibt Artikel die haben nichts hinterlegt. Es sollen nun alle Versandkosten der Artikel mit befüllten Attribut-Feld addiert werden und pauschal für alle anderen Artikel ein konstanter Wert verwendet werden. Dh. 4 Artikel im Warenkorb mit 10 im Attr-Feld 3 Artikel im Warenkorb mit keinem Wert (Pauschal für alle 18 Euro) Hier sollte nun 4x10 + 18 gerechnet werden. Ich hatte schon folgendes probiert: SUM(at.attr12\*b.quantity)+18 Hier zeigt es mir aber 0 an. Ohne +18 zeigt es mir den richtigen Wert an. SUM(IF(at.attr12,at.attr12\*b.quantity,18) Das rechnet leider für jeden Artikel wiederum 18 Euro, es soll aber nur einmal gerechnet werden. Ich verstehe nicht ganz wie die gesamte Query des Versandkostenmoduls arbeitet? Wo im Code wird die Query zusammengesetzt? Für Hilfe wäre ich sehr dankbar.

Ich habe es geschafft! Mit einer CASE Anweisung inkl. Verwendung der shippingfree Option funktioniert es prima. Dabei habe ich jene Artikel die keinen Wert im attr haben als shippingfree markiert. Folgend meine Lösung: CASE WHEN MAX(b.shippingfree) = 1 && MIN(b.shippingfree) = 1 THEN 18 WHEN MAX(b.shippingfree) = 1 && MIN(b.shippingfree) = 0 THEN SUM(at.attr16\*b.quantity)+18 ELSE SUM(at.attr16\*b.quantity) END Fall 1: Es sind nur „shippingfree“ Artikel im Warenkorb, dann weise 18 Euro pauschal aus. Fall 2: Es sind shippingfree und attr Artikel im Warenkorb, dann zähle alle attr Artikel zusammen und addiere die 18 Euro für die restlichen Artikel. Fall 3: Es sind nur attr-Artikel im Warenkorb, dann rechne nur die attr Werte zusammen.

1 Like