Hi EKKi,
Du schriebst, dass in der Spalte "Multi" noch weitere Werte enthalten sein können. Da Du diese nicht in Deinem CASE berücksichtigt hast, erwartest Du also von Deinem DBMS, dass es dann nicht 1 und auch nicht 1.25, sondern irgendetwas anderes zurückgibt ... aber was? Du solltest also noch einen ELSE-Zweig einbauen.
Es gibt nur 6 Möglichkeiten und die habe ich alle erfasst. Deshalb habe ich auf das ELSE verzichtet. Ist das falsch?
Ich habe mich sicher falsch ausgedrückt. Aber die Sache ist so:
Tabelle Artikel:
ID|Warenkorb_ID|Menge|Preis|Nachlass|Multi|...Tabelle Warenkorb:
ID|User_ID|Datum|Warenkorb_Nachlass|...Aha ... und jetzt? Wo genau möchtest Du jetzt wieviel Rabatt/Nachlass gewähren?
Innerhalb der Tabelle 'Artikel' können Nachlässe stehen, in der float-Spalte mit dem Namen 'Nachlass'.
Diese Artikelnachlässe werden ja bereits berücksichtigt in miener Abfrage.
Zusätzlich können in der Tabelle 'Warenkorb' in der float-Spalte 'Warenkorb_Nachlass' Gesamtnachlässe für alle Artikel enthalten sein, die in diesem Warenkorb (gekennzeichnet über Artikel.Warenkorb_ID=Warenkorb.ID) enthalten sind.
Grüße,Fletch