I am new to sql and have not been able to resolve this issue. I have a query that shows me the information on students we serve. The query pulls all of their classes and the status results as well as contact information. I need to query down to the LAST class taken and the students status. If I take out the following fields I get the correct return but I have to have all the information

dbo.Class.Year,
dbo.ClassResult.ClassResultStatusID,
dbo.Class.SemesterID,
dbo.Location.LocationName,
dbo.Institution.InstName




SELECT MAX(ClassResult.ClassID) AS LASTCLASS,
Person.PersonID,
Person.LastName,
Person.FirstName,
Address.Address1,
Address.City,
Address.State,
Address.Zip,
Class.Year,
ClassResult.ClassResultStatusID,
class.LocationID

FROM Person

INNER JOIN Person_Address ON Person.PersonID = Person_Address.PersonID
INNER JOIN Address ON Person_Address.AddressID = Address.AddressID
INNER JOIN ClassResult ON Person.PersonID = ClassResult.PersonID
INNER JOIN Class ON ClassResult.ClassID = Class.ClassID

GROUP BY Person.PersonID,
Person.LastName,
Person.FirstName,
Address.Address1,
Address.City,
Address.State,
Address.Zip,
Class.Year,
class.LocationID,
ClassResult.ClassResultStatusID
HAVING (ClassResult.ClassResultStatusID NOT IN (4, 8, 10, 12, 13))
ORDER BY Person.LastName, Person.FirstName