特定のコースに登録された学生はどのテーブルに格納されているんでしょう? バージョンは 1.9.5 です。
基本的な質問ですみません。
言い換えれば,コースIDが特定されたときに,そのコースに登録されている学生のID番号(1から順番にMoodleにユーザ登録する際に振られる内部番号)の一覧を取るSQL文は何でしょう?という疑問なんですが。
> 特定のコースに登録された学生はどのテーブルに格納されているんでしょう?
mdl_contextとmdl_role_assignmentsに格納されるようです。
> 言い換えれば,コースIDが特定されたときに,そのコースに登録されている学生のID番号(1から順番にMoodleにユーザ登録する際に振られる内部番号)の一覧を取るSQL文は何でしょう?という疑問なんですが。
下記投稿が参考になるかと思います。
[Which tables involved in course enrolment]
http://moodle.org/mod/forum/discuss.php?d=97091
[Courses in moodle database]
http://moodle.org/mod/forum/discuss.php?d=72639
mdl_contextとmdl_role_assignmentsに格納されるようです。
> 言い換えれば,コースIDが特定されたときに,そのコースに登録されている学生のID番号(1から順番にMoodleにユーザ登録する際に振られる内部番号)の一覧を取るSQL文は何でしょう?という疑問なんですが。
下記投稿が参考になるかと思います。
[Which tables involved in course enrolment]
http://moodle.org/mod/forum/discuss.php?d=97091
[Courses in moodle database]
http://moodle.org/mod/forum/discuss.php?d=72639
例えば、コース内の「管理 > ロールの割り当て」に移動したときに表示されるURIが下記のような場合、
http://your_moodle.com/admin/roles/assign.php?contextid=123
下記のSQL文でユーザID、ユーザ名、姓名を取得することができます。
SELECT
u.id, u.username, u.lastname, u.firstname
FROM
mdl_user u,
mdl_role_assignments ra,
mdl_role r
WHERE
ra.roleid = r.id AND
ra.userid = u.id AND
r.shortname = 'student' AND
contextid =123
ORDER by u.username;
http://your_moodle.com/admin/roles/assign.php?contextid=123
下記のSQL文でユーザID、ユーザ名、姓名を取得することができます。
SELECT
u.id, u.username, u.lastname, u.firstname
FROM
mdl_user u,
mdl_role_assignments ra,
mdl_role r
WHERE
ra.roleid = r.id AND
ra.userid = u.id AND
r.shortname = 'student' AND
contextid =123
ORDER by u.username;