问题描述
我想获得一个包含用户名和用户群组以及网站上scorm活动状态的报告。我找到了两个sql代码段,但不幸的是,我不知道如何将它们组合起来以实现所需的代码。如果有人能够帮助我,我将非常感激。
- 用户和同类群组
SELECT u.firstname,u.lastname,h.idnumber,h.name
FROM prefix_cohort AS h
JOIN prefix_cohort_members AS hm ON h.id = hm.cohortid
JOIN prefix_user AS u ON hm.userid = u.id
ORDER BY u.firstname
-
具有严重状态的用户列表:
SELECT u.username AS 'User',c.shortname AS 'Course',m.name AS Activitytype,CASE WHEN cm.module = 1 THEN (SELECT a1.name FROM prefix_assign a1 WHERE a1.id = cm.instance) WHEN cm.module = 2 THEN (SELECT a2.name FROM prefix_assignment a2 WHERE a2.id = cm.instance) WHEN cm.module = 3 THEN (SELECT a3.name FROM prefix_book a3 WHERE a3.id = cm.instance) WHEN cm.module = 4 THEN (SELECT a4.name FROM prefix_chat a4 WHERE a4.id = cm.instance) WHEN cm.module = 5 THEN (SELECT a5.name FROM prefix_choice a5 WHERE a5.id = cm.instance) WHEN cm.module = 6 THEN (SELECT a6.name FROM prefix_data a6 WHERE a6.id = cm.instance) WHEN cm.module = 7 THEN (SELECT a7.name FROM prefix_Feedback a7 WHERE a7.id = cm.instance) WHEN cm.module = 8 THEN (SELECT a8.name FROM prefix_folder a8 WHERE a8.id = cm.instance) WHEN cm.module = 9 THEN (SELECT a9.name FROM prefix_forum a9 WHERE a9.id = cm.instance) WHEN cm.module = 10 THEN (SELECT a10.name FROM prefix_glossary a10 WHERE a10.id = cm.instance) WHEN cm.module = 11 THEN (SELECT a11.name FROM prefix_imscp a11 WHERE a11.id = cm.instance) WHEN cm.module = 12 THEN (SELECT a12.name FROM prefix_label a12 WHERE a12.id = cm.instance) WHEN cm.module = 13 THEN (SELECT a13.name FROM prefix_lesson a13 WHERE a13.id = cm.instance) WHEN cm.module = 14 THEN (SELECT a14.name FROM prefix_lti a14 WHERE a14.id = cm.instance) WHEN cm.module = 15 THEN (SELECT a15.name FROM prefix_page a15 WHERE a15.id = cm.instance) WHEN cm.module = 16 THEN (SELECT a16.name FROM prefix_quiz a16 WHERE a16.id = cm.instance) WHEN cm.module = 17 THEN (SELECT a17.name FROM prefix_resource a17 WHERE a17.id = cm.instance) WHEN cm.module = 18 THEN (SELECT a18.name FROM prefix_scorm a18 WHERE a18.id = cm.instance) WHEN cm.module = 19 THEN (SELECT a19.name FROM prefix_survey a19 WHERE a19.id = cm.instance) WHEN cm.module = 20 THEN (SELECT a20.name FROM prefix_url a20 WHERE a20.id = cm.instance) WHEN cm.module = 21 THEN (SELECT a21.name FROM prefix_wiki a21 WHERE a21.id = cm.instance) WHEN cm.module = 22 THEN (SELECT a22.name FROM prefix_workshop a22 WHERE a22.id = cm.instance) END AS Actvityname,# cm.section AS Coursesection,CASE WHEN cm.completion = 0 THEN '0 None' WHEN cm.completion = 1 THEN '1 Self' WHEN cm.completion = 2 THEN '2 Auto' END AS Activtycompletiontype,CASE WHEN cmc.completionstate = 0 THEN 'In Progress' WHEN cmc.completionstate = 1 THEN 'Completed' WHEN cmc.completionstate = 2 THEN 'Completed with Pass' WHEN cmc.completionstate = 3 THEN 'Completed with Fail' ELSE 'UnkNown' END AS 'Progress',DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified),'%Y-%m-%d %H:%i') AS 'When' FROM prefix_course_modules_completion cmc JOIN prefix_user u ON cmc.userid = u.id JOIN prefix_course_modules cm ON cmc.coursemoduleid = cm.id JOIN prefix_course c ON cm.course = c.id JOIN prefix_modules m ON cm.module = m.id # skip the predefined admin AND guest USER WHERE u.id > 2 # config reports filters %%FILTER_USERS:u.username%% %%FILTER_SEARCHTEXT:m.name:~%% %%FILTER_STARTTIME:cmc.timemodified:>%% %%FILTER_ENDTIME:cmc.timemodified:<%% ORDER BY u.username
解决方法
industry