Bonjour à tous,
allez hop, un peu de SQL !
Je tourne sous Moodle 3.1, et je tente une requête que j'ai trouvée sur la page des requêtes ad-hoc Moodle.
Cette requête doit retourner le nombre distinct d'enseignants pour une catégorie donnée, ainsi que dans ses sous-catégories. Dans mon Moodle, chaque catégorie correspond à une faculté. Mais le chiffre donné me semble disproportionné par rapport à la réalité du corps enseignant de la catégorie / faculté que je viens de tester.
Voici la requête telle que je l'ai appliquée :
SELECT COUNT(DISTINCT tra.userid) AS profsEst-ce que le résultat est au final fiable ? Ou est-ce qu'il manquerait un élément à spécifier, comme le contextlevel (50 pour un cours) ?
FROM mdl_course AS c
LEFT JOIN mdl_context AS ctx ON c.id = ctx.instanceid
JOIN mdl_role_assignments AS tra ON tra.contextid = ctx.id
JOIN mdl_course_categories AS cats ON c.category = cats.id
WHERE c.category = cats.id
AND (
cats.path LIKE '%/2/%'
OR cats.path LIKE '%/2'
)
AND tra.roleid=3
Ou est-ce que j'aurais mal compris le résultat qui ressort ? Pour moi, je suis censé trouver le nombre de personnes différentes ayant le rôle editingteacher dans au moins un cours de la catégorie spécifiée.
Merci de votre aide ! Comme dit, si ça se trouve, tout est bien juste et il n'y a pas lieu à interrogation...
Olivier VALENTIN