Maybe overkill for your needs, but try this:
SELECT
mdl_user.firstname,
mdl_user.lastname,
mdl_user.idnumber,
mdl_grade_items.idnumber AS examcode,
mdl_grade_items.itemname AS examname,
DATEADD(s, mdl_grade_grades.timemodified, '19700101 02:00:00:000') AS examdate,
mdl_grade_items.gradepass AS pointstopass,
ROUND(mdl_grade_grades.finalgrade, 0) AS pointsobtained,
ROUND(mdl_grade_grades.finalgrade / mdl_grade_items.grademax * 100, 0) AS finalgradepercent,
(CASE WHEN ROUND(mdl_grade_grades.finalgrade, 0) >= mdl_grade_items.gradepass THEN 'Passed' ELSE 'Failed' END) AS passorfail,
mdl_course.fullname AS course
FROM mdl_grade_grades
INNER JOIN mdl_grade_items ON mdl_grade_grades.itemid = mdl_grade_items.id
INNER JOIN mdl_course ON mdl_grade_items.courseid = mdl_course.id
INNER JOIN mdl_course_categories ON mdl_course.category
= mdl_course_categories.id
INNER JOIN mdl_user ON mdl_grade_grades.userid = mdl_user.id
WHERE (mdl_grade_items.itemname IS NOT NULL)
AND (mdl_grade_items.itemtype = 'mod' OR mdl_grade_items.itemtype = 'manual')
AND (mdl_grade_items.itemmodule
= 'quiz' OR mdl_grade_items.itemmodule IS NULL)
AND (mdl_grade_grades.timemodified IS NOT NULL)
ORDER BY mdl_user.lastname, mdl_user.firstname