SELECT SM.Student_ID, SM.Students, SM.class, SM.Maths, SM.English, SM.Science, (SELECT GD.Grade FROM tblGrades AS GD
WHERE GD.MinMarks =
(
SELECT TOP 1 GD.MinMarks
FROM tblGrades AS GD
WHERE GD.MinMarks <= SM.TotalAverage
ORDER BY GD.MinMarks DESC
)
) AS Grade, (SELECT GD.Grade
FROM tblGrades AS GD
WHERE GD.MinMarks =
(
SELECT TOP 1 GD.MinMarks
FROM tblGrades AS GD
WHERE GD.MinMarks <= SM.Maths
ORDER BY GD.MinMarks DESC
)
) AS MathsGrade, (SELECT GD.Grade
FROM tblGrades AS GD
WHERE GD.MinMarks =
(
SELECT TOP 1 GD.MinMarks
FROM tblGrades AS GD
WHERE GD.MinMarks <= SM.English
ORDER BY GD.MinMarks DESC
)
) AS EnglishGrade, (SELECT GD.Grade
FROM tblGrades AS GD
WHERE GD.MinMarks =
(
SELECT TOP 1 GD.MinMarks
FROM tblGrades AS GD
WHERE GD.MinMarks <= SM.Science
ORDER BY GD.MinMarks DESC
)
) AS ScienceGrade, SM.TotalAverage, (SELECT GD.GPA FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.Maths ORDER BY GD.MinMarks DESC)) AS MathsGPA, (SELECT GD.GPA FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.English ORDER BY GD.MinMarks DESC)) AS EnglishGPA, (SELECT GD.GPA FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.Science ORDER BY GD.MinMarks DESC)) AS ScienceGPA, (([MathsGPA]+[EnglishGPA]+[ScienceGPA])/3) AS TotalGPA, (SELECT GD.Comment FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.Maths ORDER BY GD.MinMarks DESC)) AS MathsComment, (SELECT GD.Comment FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.English ORDER BY GD.MinMarks DESC)) AS EnglishComment, (SELECT GD.Comment FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.Science ORDER BY GD.MinMarks DESC)) AS Sciencecomment, (SELECT GD.Comment FROM tblGrades AS GD WHERE GD.MinMarks =(SELECT TOP 1 GD.MinMarks FROM tblGrades AS GD WHERE GD.MinMarks <= SM.TotalAverage ORDER BY GD.MinMarks DESC)) AS Totalmarkscomment, ([Maths]+[English]+[Science]) AS Totals
FROM qryResults AS SM;