Я пытаюсь написать SQL-запрос в Moodle, который показывает мне, когда студент зарегистрировался, а также завершил определенный курс.Если Дата завершения равна нулю, то предполагается, что студент не закончил курс.Это тот тип данных, которые я хочу получить.Это то, что у меня есть:
SELECT u.lastname, u.firstname, u.username, c.fullname,
FROM_UNIXTIME(cx.timecompleted) as "Completion Date",Null as "Enrol_Time"
FROM prefix_course_completions as cx
JOIN prefix_course as c on cx.course = c.id
Join prefix_user as u on cx.userid = u.id
Where cx.timecompleted is not null
and c.fullname like "%refresh%"
union
SELECT u.lastname, u.firstname, u.username, c.fullname,
FROM_UNIXTIME(cc.timecompleted) as "Completion Date", Null as "Enrol_Time"
From prefix_local_recompletion_cc_cc as cc
JOIN prefix_course as c on cc.course = c.id
Join prefix_user as u on cc.userid = u.id
and c.fullname like "%refresh%"
Where cc.timecompleted IS NOT NULL
union
SELECT u.lastname, u.firstname, u.username, co.fullname, Null as "Completion
Date",
FROM_UNIXTIME(ra.timemodified,'%D %M %h:%i:%s %x') AS enrol_time FROM
prefix_role_assignments ra,
prefix_user u, prefix_context c, prefix_course co
WHERE ra.contextid = c.id AND c.contextlevel = 50 AND ra.userid = u.id AND
c.instanceid = co.id AND ra.timemodified >0
and co.fullname like "%refresh%"
order by "Completion Date" DESC
Приведенный выше запрос дает мне все необходимые данные (имя студента, название курса, дата зачисления / завершения).Однако в том виде, как оно есть, Дата регистрации и Дата завершения находятся в отдельных строках.
Есть ли у кого-нибудь какие-либо советы / идеи относительно того, как я могу получить Даты зачисления и завершения в одном ряду таблицы?Я предполагаю, что это какой-то запрос JOIN, но я не уверен.
Любая помощь будет принята с благодарностью.Спасибо.