# Versandkosten Obergrenze (eigene Berechnung)

**URL:** <https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799>\
**Category:** Administration\
**Created:** [20. August 2015 um 15:14 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799 "2015-08-20T15:14:34Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![crz](https://avatars.discourse-cdn.com/v4/letter/c/3ec8ea/32.png) [@crz](https://forum.shopware.com/u/crz)\
**Post date:** [20. August 2015 um 15:14 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/1 "2015-08-20T15:14:34Z")

</div>

Hallo, ich bin auf der Suche nach einer Formel, die Versandkosten einzeln der Artikelattribute berechnet bis zu einer Obergrenze von 69€ - diese Summe ist dann fix, egal wie viele Artikel noch hinzugefügt werden. IST-Zustand: SUM(at.attr20\*b.quantity) Mein Ansatz: SUM(IF(at.attr20\*b.quantity \> 69,69,at.attr20\*b.quantity)) Geht das irgendwie? Vielen Dank!

---

<div class="post-metadata">

**Author:** ![drakon](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/drakon/32/7724_2.png) [@drakon](https://forum.shopware.com/u/drakon)\
**Post date:** [20. August 2015 um 15:24 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/2 "2015-08-20T15:24:13Z")

</div>

Hallo, `GREATEST(SUM(at.attr20\*b.quantity),69.00)`

---

<div class="post-metadata">

**Author:** ![crz](https://avatars.discourse-cdn.com/v4/letter/c/3ec8ea/32.png) [@crz](https://forum.shopware.com/u/crz)\
**Post date:** [20. August 2015 um 15:56 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/3 "2015-08-20T15:56:56Z")

</div>

Hallo, Danke für die Antwort - jedoch wenn ich das so eingebe, öffnet sich mein Warenkorb nicht mehr und ich bekomme einen AJAX Fehler :-/

---

<div class="post-metadata">

**Author:** ![drakon](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/drakon/32/7724_2.png) [@drakon](https://forum.shopware.com/u/drakon)\
**Post date:** [20. August 2015 um 16:21 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/4 "2015-08-20T16:21:54Z")

</div>

Hallo, entschuldige bitte, ich war zu schnell, es heißt: GREATEST (Ich hab es oben verbessert!) Das sind ja alles MySQL-Funktionen. Hier ist das MySQL-Handbuch (oder Google) ein tolle Hilfe. Man kann da unglaublich viel machen.

---

<div class="post-metadata">

**Author:** ![crz](https://avatars.discourse-cdn.com/v4/letter/c/3ec8ea/32.png) [@crz](https://forum.shopware.com/u/crz)\
**Post date:** [21. August 2015 um 12:24 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/5 "2015-08-21T12:24:05Z")

</div>

Hallo Andreas, die Formel liefert leider nicht das, was ich haben möchte. Beispiel: Warenkorb 1: Artikel 1 = 19€ Versandkosten Artikel 2 = 39€ Versandkosten Artikel 3 = 3€ Versandkosten Gesamt = 61€ Versandkosten Warenkorb 2: Artikel 1 = 19€ Versandkosten Artikel 2 = 39€ Versandkosten Artikel 3 = 39€ Versandkosten Gesamt = 69€ Versandkosten (da maximale Grenze von 69€ erreicht ist) Ich hoffe, dass das verständlicher ist und Du noch eine Idee für mich hättest! Vielen Dank!

---

<div class="post-metadata">

**Author:** ![crz](https://avatars.discourse-cdn.com/v4/letter/c/3ec8ea/32.png) [@crz](https://forum.shopware.com/u/crz)\
**Post date:** [21. August 2015 um 12:53 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/6 "2015-08-21T12:53:45Z")

</div>

Hab jetzt erst gesehen, dass es die Möglichkeit gibt für Cases bei SQL - somit gelöst. CASE WHEN SUM(at.attr20\*b.quantity) \< ‚69.00‘ THEN SUM(at.attr20\*b.quantity) ELSE 69.00 END

---

<div class="post-metadata">

**Author:** ![drakon](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/drakon/32/7724_2.png) [@drakon](https://forum.shopware.com/u/drakon)\
**Post date:** [21. August 2015 um 12:55 UTC](https://forum.shopware.com/t/versandkosten-obergrenze-eigene-berechnung/29799/7 "2015-08-21T12:55:23Z")

</div>

Hallo, ok, man sollte sich manchmal doch einen Moment länger Zeit nehmen zum Nachdenken. Es ist also genau die umgekehrte Funktion gesucht. Nicht der größere Wert von eigener Berechnung und 69 €, sondern der kleinere Wert der beiden Daten. Dann muß man anstelle GREATEST() LEAST() verwenden.
