Bonjour,
Désolé pour le titre du sujet, je n'ai rien trouvé de mieux
Il y a deux requêtes que je n'arrive pas à faire malgré plusieurs tentatives et en essayant de bricoler par-ci par-là
Je vous donne d'abord mes tables pour que ce soit plus clair. Je ne mets pas tous les attributs pour une question de clareté.
(en italique la clé primaire)
Pays (CodePays, NomPays)
Coureurs (NumeroCoureur, NomCoureur, CodePays)
Etapes (NumeroEtape, DateEtape)
Temps (NumeroCoureur, NumeroEtape, TempsRealise)
Requête 1 : Combien d'étapes ont été remportées par un espagnol ?
Requête 2 : Quels sont les noms des coureurs qui ont participé à toutes les étapes ?
Ce que j'ai essayé de faire
Code Requete 1 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT COUNT(*) FROM PAYS, COUREURS, TEMPS WHERE PAYS.NomPays = 'Espagne' AND PAYS.CodePays = COUREURS.CodePays AND TEMPS.TempsRealise IN (SELECT MIN (TempsRealise) FROM TEMPS GROUP BY NumeroEtape) AND COUREURS.NumeroCoureur = TEMPS.NumeroCoureur GROUP BY NumeroEtape;
Code Requete 2 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM TEMPS WHERE (SELECT COUNT(*) FROM ETAPES) IN (SELECT COUNT(*) FROM TEMPS, COUREURS WHERE TEMPS.NumeroCoureur = COUREURS.NumeroCoureur GROUP BY COUREURS.NumeroCoureur);
Bien sûr ça ne marche pas, je comprends pourquoi, mais je n'arrive pas à trouver la solution![]()
Rappel du dernier message :
Par contre j'ai une autre requête :
Lister les coureurs satisfaisant au moins une des trois condition :
- avoir distancé Armstrong d'au moins 10 min
- avoir un espagnol et un suisse dans son equipe
- ne jamais avoir été battu par un membre de son équipe à une étape
Pour les deux premiers points pas de soucis, par contre le troisième je galère un peu plus
Merci d'avance
Cordialement,
pikmin
Partager