Problème de jointure ? - SQL/NoSQL - Programmation
Marsh Posté le 04-09-2008 à 11:41:13
D'abord , apprendre à écrire explicitement les jointures ça évite bien des soucis.
Ensuite, quand tu utilises un aggregat, il vaut mieux grouper sur tous les champs selectionnés pour s'éviter des surprises ( la plupart des sgbd t'y forcent de toute façon).
Morale , t'as requête ne fais pas du tout faire ce que tu veux ( enfin ce que j'en comprends).
J'écrirai un truc comme ça:
Code :
|
Marsh Posté le 04-09-2008 à 12:00:35
je n'ai pas l'habitude d'utiliser les INNER JOIN. J'utilise seulement par exemple les LEFT JOIN car les jointures pas conditions "normales" ne peuvent pas le faire (si j'ai bien compris elles font ce que font les INNER JOIN).
En tout cas, ca marche bien ta requête. (je l'ai légèrement réadapté à mon cas)
Merci beaucoup !
Marsh Posté le 04-09-2008 à 11:24:00
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:
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