@JanineOverhausKocan schrieb:
Hallo,
aktuell überprüfst du für jeden Artikel nacheinander ob das Kennzeichen zutriffst und gibts 15 oder 0 aus, der nächste Artikel überschreibt dann wieder das vorherige Ergebnis.
Hier solltest du die Berechnung so erweitern:
MAX(IF(at.attr10 = ‚FAB‘ || at.attr10 = ‚FCC‘,15,0))
Damit der größte gefundene Wert genutzt wird.
In einem Test-System hat diese Berechnung funktioniert.
Viele Grüße aus Schöppingen
Janine Overhaus-Kocan
hi Janine, das MAX war es. so funktioniert es, danke dafür.
Ich bin aber wohl noch nicht ganz durch die Syntax gestiegen.
die Abfrage ist ja wie folgt:
IF([BEDINGUN], [WAHR],[FALSCH])
Wenn ich das ganze noch verschachtel sieht es so aus:
IF([BEDINGUNG],[WAHR],[IF([BEDINGUNG],[WAHR],[FALSCH])])
Das funktioniert auch soweit. Wenn ich jetzt aber noch eine weitere Bedingung einbaue bekomme ich im Frontend einen fehler geworfen:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '),15) ) )) as calculation_value_13 FROM s_order_basket
Meine Berechung sieht aktuel so aus:
MAX(
IF(
at.attr10 = 'FAB' || at.attr10 = 'FCC' || at.attr10 = 'FGP'
,15,IF(at.attr10 LIKE 'M%',IF(SUM(d.weight*b.quantity)>10,25),15)
)
)
Wo ist der Fehler?