Alors voilà, j'ai une liste d'hôtels pour lesquels j'ai une liste de prix associés à une période de temps. Sur le même shéma j'ai une liste de tarifs pour les vols aérien eux aussi liés à une date (entre autres). Avec ça, je doit créer une liste de "séjours" (hôtel+vol). Jusqu'ici pas de problème je liste les tarifs de chambres et je chope le vol le moins cher correspondant aux dates afin d'afficher un prix "à partir de" que j'utilise pour ranger mes séjours à l'aide d'order by. Mais pour pas que ça soit trop le bordel j'aimerai que seul le prix (chambre+vol) le moins cher par hôtel soit affiché. je fait donc un group by des id de mes hotels mais le problème et que du coup mon order se fait apres le group by... en gros je n'ai pas forcément le prix le moins cher.
Voilà ma requete :
SELECT hotels_id, tarifs_vols_prix, tarifs_chambres_prix, ( tarifs_chambres_prix + tarifs_vols_prix ) AS prix_total FROM `tarifs_chambres` LEFT JOIN `types_chambres` ON tarifs_chambres_type = types_chambres_id LEFT JOIN `hotels` ON types_chambres_hotel = hotels_id LEFT JOIN `tarifs_vols` ON ( ( tarifs_vols_debut <= tarifs_chambres_debut AND tarifs_vols_fin >= tarifs_chambres_debut ) OR ( tarifs_vols_fin >= tarifs_chambres_fin AND tarifs_vols_debut <= tarifs_chambres_fin ) OR ( tarifs_vols_debut >= tarifs_chambres_debut AND tarifs_vols_fin <= tarifs_chambres_fin ) ) ORDER BY prix_total ASC
ce qui me donne :
hotels_id tarifs_vols_prix tarifs_chambres_prix prix_total 1 8.00 8.00 16.00 1 10.00 8.00 18.00 1 8.00 13.00 21.00 1 15.00 8.00 23.00 1 10.00 13.00 23.00 1 15.00 13.00 28.00 2 8.00 36.00 44.00 2 10.00 36.00 46.00 2 15.00 36.00 51.00
(J'ai fait de mon mieux pour que ça soit lisible :))
Donc en gras les deux lignes que j'aimerai faire ressortir malheureusement quand j'ajoute mon group by hotels_id ça ne sont pas celle là qui ressortent... quelqu'un a une solution ? une piste ?
un grand merci à tout ceux qui tenteront de m'aider :)
