Hallo, ich möchte für Zimmer einen Preis berechnen wenn der Gast die An- und Abreise eingibt. Dazu habe ich eine "Preisliste" erstellt mit den verschiedenen Saison-Arten.
Ich habe folgende Tabellen:
saison: id INT, von DATE, bis DATE
preis: id INT, tag INT, saison INT, preisliste INT
preisliste: id INT, name VARCHAR
zimmer: id INT, name VARCHAR, preisliste INT
D.h. die Preisliste für das Zimmer kann ich mit folgendem Statement ausgeben:
Nun habe ich mir folgenden Ansatz gedacht: ich erstelle eine Abfrage, bei der ich die betreffende(n) Saison(s) (falls es sich überschneidet) raussuche und danach, falls es zwei Saisons sind, ein Array erstelle in dem jeder Tag dazwischen eingetragen wird, das dann so aufgebaut ist ("yyyymmdd" => tagespreis). Zum Schluss zähle ich dann alle Preise der Tage die zwischen An- und Abreise liegen zusammen, ansonsten mache ich einfach den Preis * Tage, wenn es nur eine Saison ist.
Geht das auf eine schnellere "einfachere" Art?
Vielen Dank.
Ich habe folgende Tabellen:
saison: id INT, von DATE, bis DATE
preis: id INT, tag INT, saison INT, preisliste INT
preisliste: id INT, name VARCHAR
zimmer: id INT, name VARCHAR, preisliste INT
D.h. die Preisliste für das Zimmer kann ich mit folgendem Statement ausgeben:
Code:
SELECT von, bis, tag FROM zimmer z INNER JOINpreisliste pl ON z.preisliste=pl.id INNER JOIN preis p ON pl.id=p.preisliste INNER JOIN saison s ON s.saison=p.saison WHERE z.id=1
Geht das auf eine schnellere "einfachere" Art?
Vielen Dank.
Kommentar