我沒有一個完整的答案給你,但我可以告訴你,我也管理一個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