UFN_CLASS_GETSTUDENTGRADELEVELSTRING

Returns the grade levels associated with the student during the class.

Return

Return Type
nvarchar(1000)

Parameters

Parameter Parameter Type Mode Description
@CLASSID uniqueidentifier IN
@STUDENTCOURSEID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_CLASS_GETSTUDENTGRADELEVELSTRING
(
    @CLASSID uniqueidentifier,
    @STUDENTCOURSEID uniqueidentifier
)
returns nvarchar(1000)
with execute as caller
as begin
    declare @COUNT int

    declare @GRADELEVEL_LIST nvarchar(1000)
    select
        @GRADELEVEL_LIST = coalesce(@GRADELEVEL_LIST + '; ', '') + GRADELEVEL.ABBREVIATION
    from dbo.STUDENT
        inner join dbo.EDUCATIONALHISTORY on STUDENT.ID = EDUCATIONALHISTORY.CONSTITUENTID
        inner join dbo.STUDENTPROGRESSION on EDUCATIONALHISTORY.ID = STUDENTPROGRESSION.ENROLLMENTID
        inner join dbo.SCHOOLGRADELEVEL on STUDENTPROGRESSION.SCHOOLGRADELEVELID = SCHOOLGRADELEVEL.ID
        inner join dbo.GRADELEVEL on SCHOOLGRADELEVEL.GRADELEVELID = GRADELEVEL.ID
        inner join dbo.STUDENTCOURSE on STUDENT.ID = STUDENTCOURSE.STUDENTID
        inner join dbo.STUDENTCLASSMEETINGGROUP on STUDENTCOURSE.ID = STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID
        inner join dbo.CLASSMEETINGGROUP on STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
        inner join dbo.CLASS on CLASSMEETINGGROUP.CLASSID = CLASS.ID
    where CLASS.ID = @CLASSID
        and STUDENTCOURSE.ID = @STUDENTCOURSEID
        and not (STUDENTPROGRESSION.ENDDATE < CLASS.STARTDATE or STUDENTPROGRESSION.STARTDATE > class.ENDDATE)    
    group by GRADELEVEL.ABBREVIATION
    order by GRADELEVEL.ABBREVIATION asc

    return @GRADELEVEL_LIST
end