我正在寻找适当的SQL查询来检索在某个课程中注册的所有学生,或者某个学生已经注册的所有课程,在Moodle上.
我从互联网上找到了一些解决方案,其中大多数建议加入这些表:
context,role_assignments,course,user,role
但是当我查看数据库时,我发现有一个名为的表user_enrolments,在我看来,我可以通过加入以下表来获得结果:
user_enrolments,user,course,enroll
例如,
SELECT u.id, c.id
FROM mdl_user u
INNER JOIN mdl_user_enrolments ue ON ue.userid = u.id
INNER JOIN mdl_enrol e ON e.id = ue.enrolid
INNER JOIN mdl_course c ON e.courseid = c.id
Run Code Online (Sandbox Code Playgroud)
和
SELECT u.id, c.id
FROM mdl_user u
INNER JOIN mdl_role_assignments ra ON ra.userid = u.id
INNER JOIN mdl_context ct ON ct.id = ra.contextid
INNER JOIN mdl_course c ON c.id = ct.instanceid
INNER JOIN mdl_role r ON r.id = ra.roleid
WHERE …Run Code Online (Sandbox Code Playgroud)