Halihallo again ;)
Wie gesagt, es gibt 7 Rabattklassen für jedes Produkt, die Kunden werden dann einer dieser 7 Klassen zugeordnet. Wenn die Rabattklassen nur jeweils einen bestimmten Prisabschlag in % bvedeuteten, hätte ich das Problem nicht, denn diese Prozente kann man einfach bei der Ausgabe berücksichtigen. Pordukt XY hat also 7 Preise, einen für jede Rabattgruppe. Die Preise werden alle einzeln festgelegt.
Ach so, ich dachte das mit '7' wäre ein Beispiel. Aber wenn's dann genau sieben Klassen gibt (weiter unten...)
Nach welchem Kriterium wird der Kunde in eine bestimmte Rabattklasse eingeordnet?
nach umsatz, aber nicht automatisch, sondern durch einen Mitarbeiter eingestuft, je mehr Umsatz durch den Kunden, desto besser die Rabattklasse.
OK. Klingt sehr vernümftig... Dachte, dass dies auch automatisiert ist, dann wäre der Algorithmus noch interessant gewesen, da dann die Sache vielleicht auch anders umsetzbar wäre.
[...]
Nö, ich habe
Tabelle Article
ArticleID (primary)
Beschreibung
...
PriceClass1
PriceClass2
...
PriceClass7
Warum sagst du das denn nicht gleich ;)
Aber irgendwie kommt mir das eh bekannt vor, nicht??? :-)
SELECT P.AbsolutePrice FROM Price AS P, Client AS C WHERE P.ArticleID='xxx' AND C.ClientID='xxx' AND P.PriceClassID=C.PriceClassID
waren das nicht die tötlichst unperformantesten Joins? ;-)
hehe... Kein Kommentar ;-)
Für alle anderen im Forum, das war ein insider ;)
oder so ähnlich...
SELECT PriceClassID FROM Client WHERE ClientID='xyx'
$preisklasse="PriceClass".$sql_result;
SELECT $preisklasse FROM Article WHERE ArticleID='xxx'
So in etwa, aber irgendwie sehr unschön, oder?
Eben ;-))))
Aber nu mal im Ernst: Ich glaube kaum, dass es eine andere Möglichkeit gäbe. Entweder du musst den Query dynamisch generieren, oder die Daten müssen in einer anderen Tabelle stehen. Was anderes gibt's IMHO nicht (sorry, aber auch Scotty kann die Gesetze des Universums nicht ändern ;-)).
Und um den Kreis zu schliessen: In der Language-Angelegenheit geht's ja auch nicht anders.
süsse Grüsse
Philipp