|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
Bonjour,
j'ai créé une requête me permettant de regrouper les enregistrement ainsi : société - date - salarié - nb - lieu Jusque là tout va bien... mais lorsque je souhaite obtenir seulement l'enregistrement contenant le nb le plus élévé (fonction MAX) , je n'arrive pas : -soit je dois enlever le lieu -soit j'ai plusieurs enregistrement affichés selon les lieux. Comment avoir un tri, me donnant, 1 seul enregistrement pour chaque personne dont le nb est le plus élévé, tout en pouvant connaître le lieu correspondant ? Par avance merci
|
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Immalie,
Tout ne peut pas être possible en une seule fois !... Si j'ai bien compris, quand tu dis : Citation:
C'est bien cela ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
10
|
|
|
#3 |
|
Membre éclairé
![]() |
illustres ton besoin!!!
|
|
|
10
|
|
|
#4 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
Merci Richard et Boussafi de prendre du temps pour moi
oui c'est cela un regroupement est fait d'un tri sur une semaine sachant que je voudrais avoir que nombre MAX et son lieu correspondant : société A salarié a nombre lieu salarié b nombre lieu salarié c nombre lieu société B salarié a2 nombre lieu salarié b2 nombre lieu salarié c2 nombre lieu est-ce plus clair ?
|
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Citation:
société, date, salarié, nb : max(xx) ==> te donnera le max(xx), tous lieux confondus ; une seconde requête R2 : R1 liée à ta table initiale, via société, date, salarié, nb ==> te donnera la liste des lieux (et oui, plusieurs possibles) concerné(s) par nb max(xx). D'où, la première remarque : Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
10
|
|
|
#6 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
|
|
|
00
|
|
|
#7 | |||||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Citation:
Exemple pour une table : Code :
Code :
Code :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||||||
|
|
10
|
|
|
#8 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
c'est exactement ce que je voudrais, mais la table contenant le lieu n'a pas de relation direct avec la requête R1, est-cela qui fait que dans R2 je n'obtienne pas le bon résultat ?
... Je viens de vérifier et même avec des données de la même base cela ne marche pas, ou du moins je n'y arrive pas |
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Citation:
Ce que tu appelles "lieu" est "zone" dans ta requête ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
10
|
|
|
#10 | |||
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
Citation:
oui, zone = lieu, mais la clé me suffirait... |
|||
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bien, reprenons.
Dans la requête que tu as présentée, supprimes la colonne "Zone" : cela devient la requête R1.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
10
|
|
|
#12 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
merci
étape 1 : faite, j'ai enlevé Zone
|
|
|
00
|
|
|
#13 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour Immalie,
Bien. Tu as donc : 1 ligne pour une société, un $deb et un $agent, avec le max de SL pour ce triplé, toutes zones confondues. ==> visiblement, tu n'as plus besoin de GHT2, tu peux donc la supprimer. Les données te semblent-elles correctes, à ce stade ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
10
|
|
|
#14 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
oui, Richard, c exact et cela me donne actuellement ce que j'attends.
|
|
|
00
|
|
|
#15 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Donc, sauvegarde cette requête en R1.
Crées une requête R0 : - ajoutes GHT4 ; - ajoutes GHT1 ; - liaison identique à la requête que tu as présentée ; - mêmes champs que la requête que tu as présentée ; - pas de regroupement. ==> R0 devient ta référence. Crées une requête R2 : - ajoutes R1 ; - ajoutes R0 ; - liaison de R1 vers R0 via : société => société $deb => $deb $agent => $agent max(SL) => SL ==> te donne la liste des triplés dont SL a été sélectionné comme MAX. Les données te semblent-elles correctes, à ce stade ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
10
|
|
|
#16 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
Ok, les explications sont claires.
mais : Dans R2, une fois les 2 requêtes ajoutées et les liaison faites, je sélectionne quoi dans les colonnes ? R1.* et R0.* ? |
|
|
00
|
|
|
#17 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Citation:
Les données renvoyées par R2 te semblent-elles correctes, à ce stade ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
10
|
|
|
#18 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
J'ai sélectionné les données de R0 dans les colonnes et ça marche pour les résultat de R2 !
|
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Tu prends (SELECT) :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
10
|
|
|
#20 |
|
Invité régulier
![]() Inscription : août 2011 Messages : 14 ![]() |
oui cela fonctionne.
les champs sont en double sur la ligne mais c juste. Et maintenant, comment obtenir la zone de la table GHT2 ou simplement la clé de l'enregistrement ? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com