Kombination von Anfragen

Mariexshx

Fleissiger Benutzer
Beiträge
57
Hallo, ich soll eine Abfrage schreiben, die berechnet, welche Pauschalreisen durch das einzelne buchen von abanreise + Unterkunft günstiger waren als der normale Preis für die Pauschalreise.

Ich hab 2 Tabellen mit Pauschalreise_hat_anabreise, dort sind die möglichen Kombinationen drin und die Tabelle Pauschalreise_hat_unterkunft, wo auch die möglichen Kombination mit Pauschalreise und Unterkunft enthalten sind.
Wenn jetzt die beiden Tabellen joine hab ich ja die möglichen Kombination. Nun muss ich diese ja aber irhfnwie mit der Tabelle anabreise und der Tabelle Unterkunft verbinden, weil die enthalten die Preise, die ich addieren muss ich weiß nur leider nicht wie. Kann mir jemand helfen ?
 
Werbung:
Pauschalreise_hat_anabreise wird wohl einen Fremschlüssel haben der auf anabreise zeigt, genauso wie Pauschalreise_hat_unterkunft einen FK auf Unterkunft hat. Die beiden Tabellen musst du genauso dazu joinen.
 
SELECT pauschalreise.id, pauschalreise.Preis, (anabreise.Preis + unterkunft.Preis) AS Buchungspreis
FROM anabreise
JOIN pauschalreise_hat_anabreise
ON pauschalreise_hat_anabreise.AnAbreiseID = anabreise.id
JOIN pauschalreise_hat_unterkunft
USING(PauschalreiseID)
JOIN unterkunft
ON pauschalreise_hat_unterkunft.UnterkunftID = unterkunft.id
JOIN pauschalreise
ON pauschalreise.id = pauschalreise_hat_unterkunft.PauschalreiseID
WHERE (anabreise.Preis + unterkunft.Preis) < pauschalreise.Preis

Ich hab jetzt alle Tabellen nacheinander miteinander verbunden. Eine kürze Lösung ist mir nicht eingefallen
 
Sieht schon mal ganz gut aus (ich würde allerdings INNER JOIN als explizite Syntax bevorzugen), allerdings nur für die Fälle, wo zu einer "AnAbreise" genau eine Pauschalreise und genau eine Unterkunft existiert. Sind es mehr oder weniger Datensätze in einer der zugeordneten Tabellen stimmt deine Berechnung nicht mehr. Ob das in deinem Datenmodell der Fall sein kann weiß ich aber nicht.
 
Werbung:
Zurück
Oben