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!
Hallo, GREATEST(SUM(at.attr20\*b.quantity),69.00)
Hallo, Danke für die Antwort - jedoch wenn ich das so eingebe, öffnet sich mein Warenkorb nicht mehr und ich bekomme einen AJAX Fehler :-/
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.
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!
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
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.