Bonjour,
Je ne parviens pas à mettre au point une requête qui doit sans doute être trés simple :
Je travaille sur 3 tables Athlétes, Compétitions, Résultats.
J'ai des structures basiques pour tests
Athletes : aCod, aNom
Compet. : cCod, cNom
Resulta. : rCod, rDat, rTim, aCod, cCod
Je veux extraire le vainqueur de chaque compétition, en indiquant le nom de la compétition, la date, le temps, le nom du vainqueur...
Je parviens à lister les noms des compétitions, date, et meilleur temps, mais ne trouve pas la solution pour coller à mon résultat le nom de chaque athléte vainqueur.
Code qui marche pour ajoindre le nom de la compétition aux résultats (3 compétitions, 3 lignes) :
Bien sûr j'ai fait quelques essais avant de créer ce post.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select cNom, cDat, min(rTim) from gbe_res join gbe_com on gbe_com.cCod=gbe_res.cCod group by cNom, cDat
Je bute à chaque fois sur le fait que les données apparaissent en de multiples exemplaires.
J'ai essayé de joindre aNom provenant de la table athléte sous la forme du code suivant
mais là je récupére une dizaine de lignes au lieu des 3 attendues (3 compétitions)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Select cNom, cDat, aNom, min(rTim) from gbe_res r join gbe_com c on c.cCod=r.cCod join gbe_ath a on a.aCod=r.aCod group by cNom, cDat, aNom
....
Que faut il faire pour adjoindre le nom de l'athléte vainqueur à ce résultat ?
(je travaille avec local SQL D3 ou FireBird 1.5)
![]()
Partager