J'ai un problème que je n'arrive pas à déméler et vos lumières me seraient fort utiles : je précise que je travaille sur Access,(ceci explique peut-être cela??!!)
J'ai une table de tbl_Visite avec les visites de patients...on retrouve donc plusieurs fois le même patient dans cette table. J'ai dans cette table un Id_Intervenant lié à une table xtb_Intervenant dans lequel ces intervenant sont classés par catégorie dans le champ CodeIntervenantInterface.
Mon souhait est de faire une requète qui compte les patients(CodeAccueilli) par catégorie (CodeIntervenantInterface) mais je ne veux l'avoir que par patient et pas par visite...ainsi, si M.Dupont a passé 15 visites en sollicitant 10 fois le service psychiatrique, je veux juste que M.Dupont apparaisse comme 1 patient (donc 1 fois) ayant sollicité le service psychiatrique (et pas 10 fois)
J'arrive à mes fins en faisant une requète intermédiaire qui fait un GROUP BY sur le patient (CodeAccueilli) et le CodeIntervenantInterface.
Ma seconde requête compte ensuite le nombre de CodeAccueilli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT DISTINCT tbl_Visite.CodeAccueilli, xtb_Intervenant.CodeIntervenantInterface FROM xtb_Intervenant INNER JOIN tbl_Visite ON xtb_Intervenant.IDIntervenant = tbl_Visite.CodeIntervenant1 GROUP BY tbl_Visite.CodeAccueilli, xtb_Intervenant.CodeIntervenantInterface;
Question : y-a t'il un moyen de faire ceci en une seule étape ? Lorsque je fais un COUNT directement dans la requête 1, j'ai un compte sur le nombre des visites des patients et pas un regroupement par patient (y compris quand je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Count(Requête1.CodeAccueilli) AS CompteDeCodeAccueilli, Requête1.CodeIntervenantInterface FROM Requête1 GROUP BY Requête1.CodeIntervenantInterface;) qui ne me donne pas le réultat attendu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Count(tbl_Visite.CodeAccueilli) AS CompteDeCodeAccueilli, xtb_Intervenant.CodeIntervenantInterface FROM xtb_Intervenant INNER JOIN tbl_Visite ON xtb_Intervenant.IDIntervenant = tbl_Visite.CodeIntervenant1 GROUP BY xtb_Intervenant.CodeIntervenantInterface;
Si vous avez une idée, j'avancerais beaucoup y compris dans ma compréhension des clauses de regroupement et d'agrégat qui m'echappent un peu...
Partager