Bonjour à tous
Débutant en SQL j'ai un problème avec une requête. Dans une bdd de courses de chevaux j'ai une table "Performances" comportant entre autres les champs Nom, Date, Place, gain et dont je veux extraire certains cumuls.
J'ai donc écrit la requête suivante sensée extraire dans un intervalle d'une année, le nombre de courses courues, le nombre de victoires et le total des sommes gagnées par cheval, avec un regroupement sur le champ "Nom".
J'ai donc écrit:
La requête me retourne bien le total des sommes gagnés par cheval, ainsi que le nombre de courses courues, mais en ce qui concerne le nombre de victoires, elle me retourne pour chaque ligne le cumul des victoires de tous les chevaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT DISTINCT Performances.Nom, Sum(Performances.Gain) AS Gains, Count(Performances.Date) AS CoursesCourues, (SELECT Count(Performances.Place) FROM Performances WHERE ((Performances.Place)="1")) AS Victoires FROM Performances WHERE (((Performances.Date) Between [Formulaires]![EtudeCourse]![Date_jour] And ([Formulaires]![EtudeCourse]![Date_jour]-365))) GROUP BY Performances.Nom;
J'ai alors inséré un regroupement dans la ligne de code des victoires:
Mais dans ce cas j'ai un message d'erreur qui dit que ma sous-requête ne peut retourner au plus qu'un seul enregistrement et ne s'exécute pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 .... SELECT Count(Performances.Place) FROM Performances WHERE ((PerformancesCourseJour.Place)="1") GROUP BY Performances.Nom) AS Victoires ....
Pouvez-vous m'aider?
Merci
Partager