Bonjour à tous,
j'ai un problème de requete SQL depuis hier.
J'ai 3 tables: semaine, personne et reservation.
semaine reservation personne
---------- ---------------- ----------------
id_semaine id_reservation id_personne
date_debut id_semaine nom
date_fin id_personne
enchere
En gros, une personne peut réserver (une chambre par exemple) pour une semaine ou plusieurs. Mais pour l'obtenir, elle doit avoir la plus grande enchère, sachant qu'il y peut y en avoir plusieurs sur la même semaine évidemment (ou aucune même).
J'aimerais récupérer les semaines où il y a eu une (des) réservations avec le nom de la personne et son enchère, en l'occurence la max en cours.
Pour l'instant j'ai ca:
Code :
- select semaine.id_semaine, date_debut, date_fin, nom, max(enchere) as max_enchere
- from semaine, reservation, personne
- where semaine.id_semaine=reservation.id_semaine
- and reservation.id_personne=personne.id_personne
- group by semaine.id_semaine
- order by semaine.date_debut
|
J'arrive bien à récupérer les semaines qui ont eu des réservations avec leur enchère max. Par contre, l'enchère ne correspond pas à la bonne personne. J'ai loupé quelque chose parce que j'ai dans le where une condition qui devrait garantir la cohérence entre enchère et personne non?
Pouvez-vous m'aider pliz
Merci infiniment.
Message édité par welcominh le 04-09-2008 à 11:33:24
---------------
Direct-download.com, le moteur de recherche pour Mega