Adding current user condition to SQL report (Help! I'm stuck!)

Adding current user condition to SQL report (Help! I'm stuck!)

by Mike Walters -
Number of replies: 1

Okay, it doesn't matter how long I stare at SQL, it is just gibberish.  One day it will click but at the moment - nothing!

I am playing with this SQL report from the contributed section:

SELECT u.firstname AS 'Name' , u.lastname AS 'Surname', c.fullname AS 'Course', cc.name AS 'Category',
CASE WHEN gi.itemtype = 'Course'    
THEN c.fullname + ' Course Total'  
ELSE gi.itemname
END AS 'Item Name', ROUND(gg.finalgrade,2) AS Score,ROUND(gg.rawgrademax,2) AS Max, ROUND(gg.finalgrade / gg.rawgrademax * 100 ,2) AS Percentage,
 
IF (ROUND(gg.finalgrade / gg.rawgrademax * 100 ,2) > 79,'Yes' , 'No') AS Pass
 
FROM prefix_course AS c
JOIN prefix_context AS ctx ON c.id = ctx.instanceid
JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id
JOIN prefix_user AS u ON u.id = ra.userid
JOIN prefix_grade_grades AS gg ON gg.userid = u.id
JOIN prefix_grade_items AS gi ON gi.id = gg.itemid
JOIN prefix_course_categories AS cc ON cc.id = c.category
WHERE  gi.courseid = c.id AND gi.itemname != 'Attendance'
ORDER BY `Name` ASC

What I want to do is add a condition so that it only displays results for the current logged in user (the one who clicks the report link).

I think I need to add something like WHERE userid="%%USERID%% somewhere, but I can't work out where for the life of me.

Can anybody help?

Thanks

Mike

Average of ratings: -
In reply to Mike Walters

Re: Adding current user condition to SQL report (Help! I'm stuck!)

by Sarah Ashley -

I see this is an old post, but for the benefit of others looking for a similar solution, Mike, you are correct; you would tag this onto your WHERE clause:

AND u.id=%%USERID%%

So that WHERE line would read in full:

WHERE  gi.courseid = c.id AND gi.itemname != 'Attendance' AND u.id=%%USERID%%

 

Best regards,

Sarah