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