Bonjour, j'ai un problème sur une requête utilisant JOIN
J'ai 5 tables differentes:
REVISION, WAGONS, COMPOSITION, BF, CONTRAT
Je cherche à connaitre le nombre de km parcuru par un wagon depuis sa dernière révision.
les km se trouvent dans la table BF réliée à WAGON par l'intermédiare de COMPOSITION.
Mon problème est le suivant:
ma requete fonctionne lorsqu'il n'y a qu'une seule entrée dans la Table REVISION pour un wagon donnée.
dès lors que j'ajoute une nouvelle entrée (une date plus récente) ma requete ajoute
le nombre de km supérieur à la premiere entrée et le nombre de km supérieur à la deuxième.
Comment faire pour qu'il ne m'indique 'que' le nombre de km supérieur à la date de révision la plus récente?
Voici ma requete:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT w.id AS id, MAX(r.date) AS date, SUM(b.km) AS km FROM `wagons` w JOIN `revision` r ON w.id = r.id_wagon JOIN `composition` c ON w.id = c.id_wagons JOIN `bf` b ON c.id_bf = b.id WHERE b.date_bf > date AND b.id_contrat = ? GROUP BY w.id
Merci beacoup pour votre aide j'avoue que je sèche depuis des heures.....
Partager