UFN_STUDENT_GETSCHOOLGRADELEVELBYDATE

Returns the school and grade level information by passing in student ID and date

Return

Return Type
varchar(202)

Parameters

Parameter Parameter Type Mode Description
@SPECIFIEDDATE date IN
@STUDENTID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_STUDENT_GETSCHOOLGRADELEVELBYDATE
(    
    @SPECIFIEDDATE    date=null,
    @STUDENTID uniqueidentifier=null
)
returns varchar(202)
with execute as caller
as 
begin
    declare @RetVal varchar(202)

    SELECT TOP 1 @RetVal = dbo.CONSTITUENT.KEYNAME + ', ' + dbo.GRADELEVEL.DESCRIPTION
            FROM dbo.EDUCATIONALHISTORY
            inner join dbo.SCHOOL S1 on dbo.EDUCATIONALHISTORY.[EDUCATIONALINSTITUTIONID] = S1.[ID]
            inner join dbo.STUDENTPROGRESSION on dbo.STUDENTPROGRESSION.[ENROLLMENTID] = dbo.EDUCATIONALHISTORY.[ID]
            inner join dbo.SCHOOLGRADELEVEL on dbo.STUDENTPROGRESSION.[SCHOOLGRADELEVELID] = dbo.SCHOOLGRADELEVEL.[ID]
            inner join dbo.SCHOOL S2 on dbo.SCHOOLGRADELEVEL.SCHOOLID=S2.[ID]
            inner join dbo.CONSTITUENT on dbo.CONSTITUENT.ID=S2.ID
            inner join dbo.GRADELEVEL on dbo.SCHOOLGRADELEVEL.GRADELEVELID=dbo.GRADELEVEL.ID
            inner join dbo.ACADEMICYEAR on dbo.ACADEMICYEAR.STARTDATE=dbo.STUDENTPROGRESSION.STARTDATE AND dbo.ACADEMICYEAR.ENDDATE=dbo.STUDENTPROGRESSION.ENDDATE
            WHERE (dbo.EDUCATIONALHISTORY.[CONSTITUENTID] = @STUDENTID
            --and dbo.UFN_DATE_FROMFUZZYDATE(dbo.EDUCATIONALHISTORY.[STARTDATE])<=@SPECIFIEDDATE AND (dbo.UFN_DATE_FROMFUZZYDATE(dbo.EDUCATIONALHISTORY.[DATELEFT])>=@SPECIFIEDDATE or dbo.UFN_DATE_FROMFUZZYDATE(dbo.EDUCATIONALHISTORY.[DATELEFT]) is null)

            and dbo.ACADEMICYEAR.[BILLINGSTARTDATE]<=@SPECIFIEDDATE AND dbo.ACADEMICYEAR.[BILLINGENDDATE]>=@SPECIFIEDDATE
            ORDER BY dbo.STUDENTPROGRESSION.[STARTDATE];
    return @RetVal
end