{Access} requête imbriquée
michou
-
michou -
michou -
Bonjour,
j'ai une table log dans ma base donnéss access de la structure suivante :
mle date_entree activité
1 01/01/09 aaa
1 01/01/09 bbb
1 01/01/09 ccc
1 05/01/09 aaa
2........
j'aimerais faire une requete SQL qui me permettra d'afficher le nombre d'entrées par matricules mais en comptant une seule fois la date, cad, pour le matricule 1 par exemple , je dois avoir en résultat 2 et non pas 4 (la date 01/01/09 doit etre comptée une seule fois). j'ai pensé à utiliser les requetes imbriquées maisj'avoue que je me suis embrouié.
Je serai reconaissant si klk un a une idée.
Merci d'avance
j'ai une table log dans ma base donnéss access de la structure suivante :
mle date_entree activité
1 01/01/09 aaa
1 01/01/09 bbb
1 01/01/09 ccc
1 05/01/09 aaa
2........
j'aimerais faire une requete SQL qui me permettra d'afficher le nombre d'entrées par matricules mais en comptant une seule fois la date, cad, pour le matricule 1 par exemple , je dois avoir en résultat 2 et non pas 4 (la date 01/01/09 doit etre comptée une seule fois). j'ai pensé à utiliser les requetes imbriquées maisj'avoue que je me suis embrouié.
Je serai reconaissant si klk un a une idée.
Merci d'avance
Configuration: Windows XP Internet Explorer 6.0
4 réponses
-
Bonjour,
c'est trop flou pour qu'on puisse t'aider.
Quel rapport entre matricule et la table log?
je dois avoir en résultat 2 et non pas 4" Gné?
Donne nous plus de détails!-
Tout d'abord merci de ta réponse. en fait j'ai donné un exemple du contenu de ma table "log" dont les champs sont : matricule, date d'entree, activité .... Mon but est de compter le nombre de jours d'entrees de tous les matricules, donc si le contenu de ma table est le suivant :
Matricule date_entree activite .....
1 01/01/09 aaa
1 01/01/09 bbb
1 01/01/09 cccc
1 04/01/09 dddd
2 *****
je voudrais que la requete me retourne le nombre de jours d'entrées du matricule "1" par exemple, soit 2 , et non pas le nombre d'entrées "4". En fait, la date "01/01/09" doit etre comptée une seule fois.
J'espere avoir été plus clair cette fois, Et merci encore
-
-
Ok là j'ai bien compris le soucis.
Il faut en effet faire un requête imbriquée.
Peux tu montrer ta requête existante (celle qui te retourne le nb d'entrée 4)?-
En fait les résultats de ma requête sont très incohérents :(. voici la premiere requete :
SELECT log.mle, log.date_entree FROM log
WHERE (((log.status)='Original'))
GROUP BY log.mle, log.start_date;
cette requete retourne en résultat:
matricule date_entree
1 01/01/09
1 02/01/09
...
C'est bien parce que la requete n'affiche la date q'une seule fois. Maintenant j'aimerais faire une deuxieme requete qui comptera le nombre de lignes résultantes de la premiere ci dessus, et ce par matricules, mais je ne sais pas comment faire et je ne sais meme pas si mon approche est correcte
-
-
Je n'ai rien pour faire des tests c'est assez embêtant.
Essaie :
SELECT log.mle, COUNT(log.date_entree) FROM log
WHERE (((log.status)='Original'))
GROUP BY log.mle, log.start_date; -
SELECT log.mle, COUNT(SELECT log.date_entree FROM log
GROUP BY log.date_entree) FROM log WHERE ((log.status)='Original') GROUP BY log.mle;