Попытка получить полную информацию о курсах для пользователей Moodle SQL - PullRequest
0 голосов
/ 26 октября 2018

Мне нужна помощь от эксперта по SQL. Когда я выполняю следующий запрос, я получаю большую часть необходимой мне информации, то есть полностью пройденных курсов пользователем в Moodle. Проблема в том, что когда я добавляю один столбец курса, который будет отображаться в результате, например, c.shortname, записи начинают дублироваться. Я полагаю, это из-за одного из моих JOIN, но я пытался переместить их, не найдя проблемы. Спасибо.

SELECT username, FROM_UNIXTIME(mdl_customcert_issues.timecreated, '%d-%m-%Y') AS date_created, ue.userid
FROM mdl_user u
JOIN mdl_customcert_issues ON mdl_customcert_issues.userid = u.id
JOIN mdl_user_enrolments ue ON ue.userid = mdl_customcert_issues.userid
JOIN mdl_enrol e ON e.id = ue.enrolid
JOIN mdl_role_assignments ra ON ra.userid = u.id
JOIN mdl_context ct ON ct.id = ra.contextid AND ct.contextlevel = 50
JOIN mdl_course c ON c.id = ct.instanceid AND e.courseid = c.id 

То, что я ожидаю, выглядит примерно так:

Имя пользователя | Дата создания пользователя | Задание 1 выполнено | Задание 2 выполнено | Курс 1 |

...