Hallo,
ich habe drei Tabellen, und zwar deliveries, tours und deliveries_tours.
1) Die Tabelle deliveries besteht aus id, market_id, name, vorname usw.
2) Die Tabelle tours hat natürlich ebenfalls eine id und vor allem ein tourdatum
3) Verknüpft werden beide mit deliveries_tours. Diese Tabelle hat nur zwei Felder, nämlich delivery_id und tour_id.
Nun möchte ich z.B. alle Touren mit tours.tourdatum = '2009-10-19' und deliveries.market_id = 1200 haben. Dazu ist mir bisher nur folgende Lösung eingefallen:
Frage an die Experten: Ist die Query überhaupt richtig? Jedenfalls bekomme ich brauchbare Ergebnisse. Kann man da was verbessern? Geht das auch über WHERE?
Ich danke im Voraus.
Steffen
ich habe drei Tabellen, und zwar deliveries, tours und deliveries_tours.
1) Die Tabelle deliveries besteht aus id, market_id, name, vorname usw.
2) Die Tabelle tours hat natürlich ebenfalls eine id und vor allem ein tourdatum
3) Verknüpft werden beide mit deliveries_tours. Diese Tabelle hat nur zwei Felder, nämlich delivery_id und tour_id.
Nun möchte ich z.B. alle Touren mit tours.tourdatum = '2009-10-19' und deliveries.market_id = 1200 haben. Dazu ist mir bisher nur folgende Lösung eingefallen:
Code:
select *
from deliveries_tours
inner join tours on tours.id = deliveries_tours.tour_id and tours.tourdatum = '2009-10-19'
inner join deliveries on deliveries.id = deliveries_tours.delivery_id and deliveries.market_id = 1200;
Frage an die Experten: Ist die Query überhaupt richtig? Jedenfalls bekomme ich brauchbare Ergebnisse. Kann man da was verbessern? Geht das auch über WHERE?
Ich danke im Voraus.
Steffen