Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2010, 12h52   #1
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
Par défaut Classement par Equipe sur le total des 3 meilleurs scores

Bonjour
Tout d'abord ,félicitations pour la richesse de votre site où j'ai trouvé beaucoup de réponses à mes questions.
Mais voila plusieurs jours que je galère sur une requete de selection ;ci-dessous la requete sur laquelle je dois extraire les 3 meilleurs scores par cat,club,dis afin de faire un classement par equipe.J'ai essayé avec top mais je n'ai que l'equipe rhodia .Je voudrais recuperer les autres clubs qui ont aussi 3 tireurs dans d'autres disciplines.(ex:LA Dis Libre ci dessous).

Cat Nom Prenom Club Dis Total
ADULTE BERTRAND JEAN-MARIE CTSBLV ARBF10 363
ADULTE THAIZE MARIE-THEREZE RHODIA ARBF10 389
ADULTE LATOUR GEORGES RHODIA ARBF10 383
ADULTE CHARBONNIER RENEE RHODIA ARBF10 363
ADULTE CHORON GERARD RHODIA ARBF10 352
JEUNE SIMONIAN THOMAS CTSBLV ARBF10 392
UNE CHAREYRON LUDOVIC CTSBLV ST25M 528
UNIQ GAUFILLET FRANCETTE CTSBLV Libre 530
UNIQ DESCOMBES MICHEL CTSBLV Libre 524
UNIQ PRAGET THIERRY CTSBLV Libre 509
UNIQUE BELLIER MARINE CTSBLV 60BC 585
UNIQUE DAUPHIN MATHIEU RHODIA 60BC 584
....
Resultat escompté:
ADULTE THAIZE MARIE-THEREZE RHODIA ARBF10 389
ADULTE LATOUR GEORGES RHODIA ARBF10 383
ADULTE CHARBONNIER RENEE RHODIA ARBF10 363
UNIQ GAUFILLET FRANCETTE CTSBLV Libre 530
UNIQ DESCOMBES MICHEL CTSBLV Libre 524
UNIQ PRAGET THIERRY CTSBLV Libre 509
etc...
Est-ce possible?
Merci.
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 14h09   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 863
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 863
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,

des elements de reponses dans cette discussion

Cela te convient-il ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 15h50   #3
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
Bonjour
merci d'avoir répondu aussi vite.
La requete de base est triee par Cat,Club ,Dis et Total decroissant.

j'ai fait plusieurs tests avec des morceaux de sql de dizaines de posts du forum,mais aucun n'a été concluant (top,in SELECT...)
J'ai la formule sous excel mais je n'arrive pas à la transcrire sous acces.

Dans la requete jointe au post les clubs qui n'ont qu'un seul ou 2 tireurs dans une discipline et une categorie définie ne doivent pas etre selectés, ni les tireurs 4,5,6.......)
Je ne sais pas si cele est possible avec sql acces
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 17h46   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Bonjour Ctsblv et Jpcheck,

Intéressant problème, vraiment...

Si j'ai bien compris, la requête :
Code sql :
1
2
3
4
SELECT Cat, Club, Dis, Count(*)
FROM TaTable
GROUP BY Cat, Club, Dis
HAVING Count(*)>=3
te donne bien, dans un premier temps, l'ensemble des groupes [Cat, Club, Dis] qui t'intéresse, non ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 18h55   #5
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
Bonsoir
Voici la requete de regroupement que j'avais faite mais qui ne renvoyais rien.

Code sql :
1
2
3
4
SELECT [R-TABLE DES TIREURS INSCRITS].Cat, [R-TABLE DES TIREURS INSCRITS].Nom, [R-TABLE DES TIREURS INSCRITS].Prenom, [R-TABLE DES TIREURS INSCRITS].Club, [R-TABLE DES TIREURS INSCRITS].Dis, [R-TABLE DES TIREURS INSCRITS].Total, Count(*)
FROM [R-TABLE DES TIREURS INSCRITS]
GROUP BY [R-TABLE DES TIREURS INSCRITS].Cat, [R-TABLE DES TIREURS INSCRITS].Nom, [R-TABLE DES TIREURS INSCRITS].Prenom, [R-TABLE DES TIREURS INSCRITS].Club, [R-TABLE DES TIREURS INSCRITS].Dis, [R-TABLE DES TIREURS INSCRITS].Total
HAVING Count(*)>=3;
Avec la requete envoyée je recupère bien les criteres de selection avec 4 et 3
tireurs.Que dois-je faire ensuite pour recuperer Nom,Prenom et Total?
Merci
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 19h33   #6
Nouveau Membre du Club
 
Inscription : août 2010
Messages : 26
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 26
Points : 28
Points : 28
Essayer ce type de requête :
Code :
1
2
3
4
5
6
7
8
 
SELECT *
FROM ctsblv AS T
WHERE T.Id In 
(SELECT TOP 3 Id FROM ctsblv as Ts
WHERE T.Cat=Ts.cat And T.Club=ts.club AND T.Dis=ts.dis
ORDER BY ts.Total DESC, ts.id)
ORDER BY T.Cat, T.Club DESC, T.Dis, T.Total DESC;
Il faut une colonne 'numéro auto' dans la table nommée Id
Adapter le nom de la table (ici : ctsblv qui apparait deux fois dans la requête).
galoir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 21h57   #7
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
bonsoir Galoir
Merci de t'occuper de mon cas.
Je crois que je suis mal parti dans la conception de ma base.
Dans la table principale T-Tireurs j'ai defini une cle sur 5 champs:cat,nom,prenom,club,dis pour eviter les doublons.(un tireur peut tirer plusieurs disciplines,mais ne peut etre inscrit 2 fois dans la meme).
R-TABLE DES TIREURS INSCRITS est une requete qui selecte les tireurs inscrits et qui a un champs calculé Total.
Puis-je y rajouter un champ iD en NumAuto?(Je suis loin d'etre un specialiste.)
J'ai fait un test mais la colonne iD reste vierge.
merci.
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 22h01   #8
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 804
Points : 2 804
Bonsoir Ctsblv et Galoir,

Galoir, ta requête est OK mais devrait retourner tous les enregistrements, y compris "les clubs qui n'ont qu'un seul ou 2 tireurs dans une discipline et une categorie définie," ainsi que "les tireurs 4,5,6".

La solution, Ctsblv, serait de combiner les deux requêtes :

Requête R1 :
Code sql :
1
2
3
4
SELECT Cat, Club, Dis, Count(*)
FROM TaTable
GROUP BY Cat, Club, Dis
HAVING Count(*)>=3

Requête R2 (la requête de Galoir) :
Code sql :
1
2
3
4
5
6
7
SELECT *
FROM TaTable AS T
WHERE T.Id IN 
(SELECT TOP 3 Id FROM TaTable AS Ts
WHERE T.Cat=Ts.cat AND T.Club=ts.club AND T.Dis=ts.dis
ORDER BY ts.Total DESC, ts.id)
ORDER BY T.Cat, T.Club DESC, T.Dis, T.Total DESC;

Requête R3 :
R1 liée à R2 via (Cat, Club, Dis)

Ne pas oublier :
Citation:
Il faut une colonne 'numéro auto' dans la table nommée Id
Et trier la requête par R1.Cat, R1.Club, R1.Dis, R2.Total DESC
Cela devrait fonctionner.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 00h17   #9
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
bonsoir Richard 35
As-tu lu la reponse que j'ai faite à Galoir ?
Dans la table principale T-Tireurs j'ai defini une cle sur 5 champs:cat,nom,prenom,club,dis pour eviter les doublons.(un tireur peut tirer plusieurs disciplines,mais ne peut etre inscrit 2 fois dans la meme).
R-TABLE DES TIREURS INSCRITS est une requete qui selecte les tireurs inscrits et qui a un champs calculé Total.
Puis-je y rajouter un champ iD en NumAuto?(Je suis loin d'etre un specialiste.)
J'ai fait un test mais la colonne iD reste vierge.
merci.

Je suis un peu pommé là.(Papy fatigue)
La table Id doit contenir les memes champs que ma requete plus le champ Id
Dois-je la creer puis la mettre à jour avec une requete Ajout?

Merci pour les tuyaux.
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 01h58   #10
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
bonjour Richard 35,Galoir
je viens de faire mes tests,ça a l'air ok.
Richard tu avais raison,le sql de galoir ,prenait tous les enregistrements sauf le 4ème de l'equipe X
Là j'arrete pour ce soir je vous confirme demain j'ai d'autres tests à faire.
En tout cas merci beaucoup.
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 13h20   #11
Invité de passage
 
Inscription : février 2010
Messages : 25
Détails du profil
Informations personnelles :
Localisation : France, Drôme (Rhône Alpes)

Informations forums :
Inscription : février 2010
Messages : 25
Points : 4
Points : 4
Bonjour Richard ,Galoir
comme je vous l'ai dit tôt ce matin,tout est Ok.
Je passe le mes à resolu.
Encore une fois merci et chapeau pour la rapidité des reponses.
ctsblv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h48.


 
 
 
 
Partenaires

Hébergement Web