[sql] test

Viewer

  1. SELECT 
  2.   course.fullname AS course_courselink, 
  3.   DATE_FORMAT(FROM_UNIXTIME(course_completion.timeenrolled), '%Y-%m-%d') AS 'Course Enrolled Date', 
  4.   DATE_FORMAT(FROM_UNIXTIME(course_completion.timecompleted), '%Y-%m-%d') AS 'Course Completed Date' 
  5. FROM 
  6.   (
  7.     SELECT 
  8.       id, 
  9.       userid, 
  10.       instanceid AS courseid 
  11.     FROM 
  12.       {dp_record_of_learning} 
  13.     WHERE 
  14.       TYPE = 1
  15.   ) base 
  16.   INNER JOIN {course} course ON course.id = base.courseid 
  17.   LEFT JOIN {course_completions} course_completion ON (
  18.     base.courseid = course_completion.course 
  19.     AND base.userid = course_completion.userid
  20.   ) 
  21.   INNER JOIN {context} ctx ON ctx.instanceid = course.id 
  22.   AND ctx.contextlevel = 50 
  23. WHERE 
  24.   base.userid = 1124
  25.   AND (
  26.     course_completion.status > 10 
  27.     OR (
  28.       (
  29.         (
  30.           EXISTS (
  31.             SELECT 
  32.               1 
  33.             FROM 
  34.               (
  35.                 SELECT 
  36.                   map.courseid AS id, 
  37.                   COUNT(map.roleid) AS roles 
  38.                 FROM 
  39.                   {totara_core_course_vis_map} map 
  40.                   JOIN (
  41.                     SELECT 
  42.                       DISTINCT vh_ctx.instanceid AS id, 
  43.                       vh_ra.roleid 
  44.                     FROM 
  45.                       {context} vh_ctx 
  46.                       JOIN {context_map} vh_cm ON vh_cm.childid = vh_ctx.id 
  47.                       JOIN (
  48.                         SELECT 
  49.                           7 AS roleid, 
  50.                           1 AS contextid 
  51.                         UNION 
  52.                         SELECT 
  53.                           6 AS roleid, 
  54.                           2 AS contextid 
  55.                         UNION 
  56.                         SELECT 
  57.                           roleid, 
  58.                           contextid 
  59.                         FROM 
  60.                           {role_assignments} uq_role_ass_alias_1 
  61.                         WHERE 
  62.                           uq_role_ass_alias_1.userid = 1124
  63.                       ) vh_ra ON vh_ra.contextid = vh_cm.parentid 
  64.                     WHERE 
  65.                       vh_ctx.contextlevel = 50
  66.                   ) vh_x ON vh_x.id = map.courseid 
  67.                   AND vh_x.roleid = map.roleid 
  68.                 GROUP BY 
  69.                   map.courseid 
  70.                 HAVING 
  71.                   COUNT(map.roleid) > 0
  72.               ) vh_r 
  73.             WHERE 
  74.               vh_r.id = course.id
  75.           ) 
  76.           OR (
  77.             (
  78.               course.audiencevisible <> 3 
  79.               AND (
  80.                 course.audiencevisible = 2 
  81.                 OR (
  82.                   course.audiencevisible = 1 
  83.                   AND EXISTS (
  84.                     SELECT 
  85.                       1 
  86.                     FROM 
  87.                       {cohort_visibility} vw_cv 
  88.                       JOIN {cohort_members} vw_cm ON vw_cv.cohortid = vw_cm.cohortid 
  89.                     WHERE 
  90.                       vw_cm.userid = 1124 
  91.                       AND vw_cv.instanceid = course.id 
  92.                       AND vw_cv.instancetype = 50
  93.                   )
  94.                 ) 
  95.                 OR (
  96.                   course.audiencevisible IN (1, 0) 
  97.                   AND EXISTS (
  98.                     SELECT 
  99.                       1 
  100.                     FROM 
  101.                       {user_enrolments} ua_ue 
  102.                       JOIN {enrol} ua_e ON ua_e.id = ua_ue.enrolid 
  103.                     WHERE 
  104.                       ua_e.courseid = course.id 
  105.                       AND ua_ue.userid = 1124
  106.                   )
  107.                 )
  108.               )
  109.             )
  110.           )
  111.         )
  112.       )
  113.     )
  114.   ) 
  115. ORDER BY 
  116.   course_completion.timecompleted ASC, 
  117.   base.id
  118.  

Editor

You can edit this paste and save as new: