简体   繁体   English

未完成课程的所有用户的 SQL 临时报告

[英]SQL ad-hoc report of ALL users not completed a course

Hya Gang!海刚!

I am very close to figuring out a report I can run ad hoc to find all our users who have not enrolled in a course.我非常接近于找出一份报告,我可以临时运行以查找所有未注册课程的用户。 I do have a report for enrolled people that have not completed the course, but this search is not finding a given student who is not even enrolled.我确实有一份未完成课程的注册人员的报告,但此搜索并未找到甚至未注册的给定学生。

The current code is当前代码是

SELECT u.lastname, u.firstname , u.email , c.fullname, 

DATE_FORMAT(FROM_UNIXTIME(cc.timecompleted),'%m/%d/%Y %T') AS 'Completed'

FROM 
prefix_role_assignments AS ra
JOIN prefix_context AS context ON context.id = ra.contextid 

AND
context.contextlevel = 50 JOIN prefix_course AS c ON c.id = context.instanceid

AND
 c.fullname LIKE "SAMPLE_COURSE_NAME" 
JOIN prefix_user AS u ON u.id = ra.userid 
JOIN prefix_course_completions AS cc ON cc.course = c.id 
AND cc.userid = u.id

ORDER BY
cc.timecompleted,
u.lastname,
u.firstname

Any thoughts??有什么想法吗??

This will list all users not enrolled in a course - could be a big list though.这将列出所有未注册课程的用户 - 不过可能是一个很大的列表。

Replace xxx with the course idxxx替换为课程 ID

SELECT u.id AS userid, u.firstname, u.lastname, u.email
FROM mdl_user u
WHERE u.deleted = 0
AND u.suspended = 0
AND NOT EXISTS (
    SELECT ue.userid
    FROM mdl_user_enrolments ue
    JOIN mdl_enrol e ON e.id = ue.enrolid AND e.courseid = xxx
    WHERE ue.userid = u.id
)

Update... I found using "mdl_" will not work within the moodle framework, but you can replace it with "prefix_" and IT WORKS!更新...我发现使用“mdl_”在moodle框架中不起作用,但你可以用“prefix_”替换它,它可以工作! Thank you SO much!太感谢了! I never would have thought of this setup.我从来没有想过这个设置。

SELECT u.id AS userid, u.firstname, u.lastname, u.email
FROM prefix_user u
WHERE u.deleted = 0
AND u.suspended = 0
and firstname not like "Guest user"

AND NOT EXISTS (
    SELECT ue.userid
    FROM prefix_user_enrolments ue
    JOIN prefix_enrol e ON e.id = ue.enrolid AND e.courseid = XXX
    WHERE ue.userid = u.id
)

ORDER BY
Lastname,
Firstname

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM