Je me demande quels critères vous utilisez pour les regrouper. Je suppose qu'il y a toujours des valeurs NULL et un nombre... parce que ça correspond à l'exemple, mais plus de détails seraient mieux !
SELECT studentID, studentName, max(MathGrade), max(SciGrade) from vStudentGrade
group by studentID, studentName, MathGrade, SciGrade
J'espère que cela vous aidera ou vous guidera vers une solution :)