Mahlzeit,
Soweit leuchten mir eure Antworten ein.
Ich hätte da noch etwas. Einerseits würde ich dedlfix' Vorschlag bezüglich des Trennens von Operation und Wert für die Rabattberechnung unterstützen, indem du die Rabatttabelle z.B. folgendermaßen gestaltest:
ID | Text | relativ | absolut |
-------------------------------------
1 | 10% Rabatt | 0.9 | 0 |
2 | 5€ Rabatt | 1 | -5 |
(mit den Default-Werten 1 für die Spalte "relativ" und 0 für die Spalte "absolut")
Dann würde mich weiter interessieren, ob du immer den gleichen Preis hast? Wenn nicht, und wenn dieser auch aus der Datenbank kommt - was spricht dagegen, den Preis inklusiv Rabatt gleich in der Datenbank ausrechnen zu lassen?
Wenn du z.B. folgende Preistabelle hast
ID | Text | Preis | Rabatt_ID
------------------------------
1 | Bla | 47.11 | 2
2 | Blubb | 8.15 |
3 | Fasel | 42.00 | 1
sollte eine Abfrage wie z.B.
SELECT CASE WHEN P.Rabatt_ID IS NULL
THEN P.Preis
ELSE ((P.Preis * R.relativ) + R.absolut)
END AS Preis_inkl_Rabatt
FROM db_Preis P
LEFT JOIN db_Rabatt R ON P.Rabatt_ID = R.ID
dir eigentlich direkt den Preis inkl. Rabatt liefern können.
MfG,
EKKi