|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Bonjour,
Je ne sais pas qu'elle expresion utiliser. J'ai une table RELEVE. Dans cette table, j'ai un une clé secondaire USAGER et un champ DATE_RELEVE. Je souhaite trouver tous les usager ayant fait l'objet de plusieurs Relevés à une date différente. il s'agit de RECIDIVE. Jusque là ça va. Maintenant je souhaite compter le nombre de récidives. Dans ce calcul, je ne doit pas prendre le premier releve. En fait si une personne à deux relevés je veux que ça me compte une récidive et si une personne à 3 relevés je veux 2 recidives... Précision le compte se fait entre pour Annee N-5. Je ne fais pas ma requête en VBA. Merci de votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Nana35,
Je te suggère, via l'assistant, donc : Requête R1 : - ajouter la table RELEVE (FROM) ; - sélectionner USAGER et année(DATE_RELEVE) (SELECT) ; - grouper par USAGER et année(DATE_RELEVE) (GROUP BY) ; - ajouter count(*) (SELECT) ; - critère année(DATE_RELEVE) > année(Date())-5 (WHERE (où) et non HAVING). ==> comptage des relevés, par année, pour les 5 années précédents, et pour un usager. Requête R2 : - ajouter la requête R1 (FROM) ; - sélectionner USAGER, année(DATE_RELEVE) et Recidive:count(*)-1 (SELECT) ; - critères Recidive<>0. ==> liste des usagers avec récidive. Non testées, donc à adapter, sans doute, à ton cas : sauf erreur de ma part, tous les éléments devraient être présents.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Merci,
C'est un peu mieux que ce que j'avais. Seulement ça me fait le cumul. Chaque année en fait je dois compter le nombre de récidives (récidives calculées entre les 5 dernières année, avant 5 ans c'est oublié) Par exemple Cumul Releve1 le 15 Mai 2004 Usager XXX 0 recidive Releve11 le 7 Mars 2006 Usager XXX 1 récidive Releve25 le 10 Sept 2006 Usager XXX 2 récidives Releve100 le 12 Oct 2010 Usager XXX seulement 2 récidives (celle de 2004 oubliée) Ce que je souhaite Résultat Requete pour l'anne 2004 o récidive Résultat Requete pour l'anne 2005 o récidive Résultat Requete pour l'anne 2006 2 récidives Résultat Requete pour l'anne 2007 o récidive Résultat Requete pour l'anne 2008 o récidive Résultat Requete pour l'anne 2009 o récidive Résultat Requete pour l'anne 2010 1 récidive Je ne vois pas comment arriver à celà Merci |
|
|
00
|
|
|
#4 | |||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Il me semble que tu changes le "cahier des charges" en cours de route...
Quelques précisions. Tu dis : Citation:
Code :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|||
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Alors,
Les requêtes que tu m'as donné font un cumul à mon sens Résultat actuel qui donne un cumul Citation:
Citation:
|
||
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Tu veux donc transformer ceci (que tu sais obtenir, donc) :
Code :
Code :
Je me trompe ?
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||||
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Oui oui
|
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Citation:
Citation:
Je te suggère : - de ne prendre que l'année de : Code :
- de créer une requête avec la table Année en primaire, liée à la requête te permettant d'obtenir ton premier tableau avec flèche à droite. ==> tu devrais obtenir le résultat souhaité (les années de la table Année non présente dans ton premier tableau ressortiront à 0).
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
J'ai bien compris l'intérêt de la table Annee.
Mais ça ne va pas. Dans ma requête permettant de trouver les relevésde 2010 par exemple dont l'usager aurait fait une récidive dans les 5 dernières années (récidives), j'obtiens toujours des recidives de 2008 par exemple pour lesquelle on aurait eu un relevé en 2006. Soit le CUMUL J'ai pensé faire autrement c'est a dire faire plusieurs requête pour chaque année cad tous les relevés de 2008, tous les relevés de 2009 etc Et si un usager de 2010 apparaît dans les requêtes entre 2006 et 2009 le considérer comme récidive. Mais je ne suis pas allée plus loin car ça me fait faire 36000 requêtes. Il manque surement une formule me permettant de compter les récidives mais pour le moment je me laisse un peu de temps pour me replonger dedans. Merci de ton aide. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com