3/10
Rapport Accueil 2/3
Il reste donc à faire la même chose pour les autres motifs (Consultation sociale, Dépistage, etc).
Pourrais-je avoir aussi une répartition par âge de ce nombre de patients ?

Oui, ça nous oblige à aller chercher l'information dans la table Doss des dossiers, car évidemment l'âge n'est pas stocké dans la table des arrivées.
On a vu à la fin de la formation 2 comment aller chercher simultanément une information dans une autre table. On voulait savoir si le paiment concerne un ARV ou un médicament courant. Et on est allé chercher l'information dans la table des produits.
Ici, on va demander à SQL, pour chaque arrivée à l'accueil, de relever le n° de dossier et d'aller chercher l'âge du patient dans la table des dossiers. Voici pour les enfants de moins de 15 ans:

nb_accueil_med_15<-SELECT COUNT( DISTINCT Entr.Doss ) FROM Entr,Doss WHERE Moti="Consultation méd." AND Entr.Doss=Doss.Nume AND Doss.RensAge_ BETWEEN 1 AND 15 AND ArriHoro BETWEEN debut_periode AND fin_periode

On a ajouté la table Doss après FROM et une condition sur l'âge compris entre 1 et 15.

Oui, car SQL doit lire aussi la table des dossiers.
L'âge est la colonne RensAge_ de la table Doss.
Doss.RensAge_ veut dire "colonne RensAge_ de la table Doss".
Notons que la tranche d'âge suivante est "BETWEEN 16 AND 19" (par ex.) pour éviter de compter 2 fois les enfants de 15 ans.

On a ajouté également la condition Entr.Doss=Doss.Nume pour que SQL fasse le lien entre l'arrivée d'un patient et son dossier qui contient l'âge.
Entr.Doss: identifiant du dossier renseigné dans l'arrivée à l'accueil
Doss.Nume: identifiant de ce dossier dans la table des dossiers
On a vu à la fin de la formation 2 que chaque ligne d'une table a un identifiant (comme les numéros de ligne dans une feuille Excel). On utilise cet identifiant pour chercher une information relative dans une autre table.
On peut comparer cela à un marque-page dans un livre. Le patient 2436 est arrivé à l'accueil pour une consultation médicale, on va chercher dans les dossiers au marque-page 2436 quel est son âge.

Et que signifie DISTINCT Entr.Doss ?

DISTINCT est un mot SQL qui permet de ne compter que les valeurs distinctes d'une colonne, c'est-à-dire de ne pas compter les doublons. Ici, il s'applique à l'identifiant du dossier renseigné dans l'arrivée à l'accueil.