我没有一个完整的答案给你,但我可以告诉你,我也管理一个Moodle 2.7系统,而我的prefix_assignment_submissions
表也没有记录。
另外,我可以给你下面的查询,我写上当然最终成绩报告。我们使用此查询保留建模通过学期,并在每学期,其中在mdl_course
表idnumber
将始终与课程代码随后在年/术语代码年底进口最终成绩对我们的学生信息系统,我们的学生信息系统。我想可能是因为它如何使用mdl_grade_items
表有所帮助:有不仅仅是course
更itemtypes
在该表中。在此表中,未评级项目finalgrade
字段中的值应为NULL
。不幸的是,我不知道Moodle内部已经足够保证每个任务都会有一张记录,但这是一个开始的地方。
SELECT u.username,u.lastname, u.firstname,c.shortname, left(c.idnumber, character_length(c.idnumber)-6) AS crs_cde,
right(c.idnumber,5) as yearterm,cast((gg.finalgrade/case when gi.grademax = 0 then 1 else gi.grademax end) * 100 as numeric(5,2)) finalgrade,
(SELECT l.letter
FROM mdl_context x
INNER JOIN mdl_grade_letters l ON l.contextid = x.id
WHERE x.instanceid in (c.id, 0) and l.lowerboundary <= round((gg.finalgrade/case when gi.grademax = 0 then 1 else gi.grademax end)*100,2)
ORDER BY x.id desc, lowerboundary desc limit 1) letter
FROM mdl_grade_grades gg
INNER JOIN mdl_grade_items gi ON gi.id=gg.itemid
INNER JOIN mdl_user u ON u.id=gg.userid
INNER JOIN mdl_course c on c.id = gi.courseid
INNER JOIN mdl_course_categories c2 on c2.id = c.category
WHERE gi.itemtype='course' and c2.visible = 1 and gg.finalgrade is not null
and char_length(c.idnumber) > 0 and right(c.idnumber,5)='20151';
我们从MySQL移动到PostgreSQL,当我们更新到2.7,但只有我需要让我们的疑问改变了日期处理。
另外值得一提的是,分配模块被彻底翻修了2.3版本,以及2.3很多文档的,2.4,2.5,等刚刚从先前版本复制过来。我已经看到这个过程错过了其他的变化。这特别适用于类似贡献报告的内容。可能你仍然看到自从2.3版本以来一直无效的sql。
是Moodle的使用什么数据库引擎? MySQL的? – 2014-12-02 00:51:25
这段代码使用了Moodle的customSQL插件,但它是后端的MySQL。 – jldugger 2014-12-02 00:52:13