UFN_STUDENTCURRENTACADEMICYEAR_GETNAME
Get the name of a student's current or future academic year
Return
Return Type |
---|
nvarchar(100) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_STUDENTCURRENTACADEMICYEAR_GETNAME(@ID uniqueidentifier) returns nvarchar(100)
with execute as caller
as begin
declare @year nvarchar(100);
select @year =
ACADEMICYEARNAMECODE.DESCRIPTION
from dbo.EDUCATIONALHISTORY
inner join dbo.STUDENTPROGRESSION on EDUCATIONALHISTORY.ID = STUDENTPROGRESSION.ENROLLMENTID
inner join dbo.SCHOOLGRADELEVEL on STUDENTPROGRESSION.SCHOOLGRADELEVELID = SCHOOLGRADELEVEL.ID
inner join dbo.ACADEMICYEAR on SCHOOLGRADELEVEL.SCHOOLID = ACADEMICYEAR.SCHOOLID
inner join dbo.ACADEMICYEARNAMECODE on ACADEMICYEAR.ACADEMICYEARNAMECODEID = ACADEMICYEARNAMECODE.ID
and STUDENTPROGRESSION.STARTDATE = ACADEMICYEAR.STARTDATE
and STUDENTPROGRESSION.ENDDATE = ACADEMICYEAR.ENDDATE
where GETDATE() between STUDENTPROGRESSION.STARTDATE and STUDENTPROGRESSION.ENDDATE
and EDUCATIONALHISTORY.CONSTITUENTID = @ID
If @year is null
select top 1 @year =
ACADEMICYEARNAMECODE.DESCRIPTION
from dbo.EDUCATIONALHISTORY
inner join dbo.STUDENTPROGRESSION on EDUCATIONALHISTORY.ID = STUDENTPROGRESSION.ENROLLMENTID
inner join dbo.SCHOOLGRADELEVEL on STUDENTPROGRESSION.SCHOOLGRADELEVELID = SCHOOLGRADELEVEL.ID
inner join dbo.ACADEMICYEAR on SCHOOLGRADELEVEL.SCHOOLID = ACADEMICYEAR.SCHOOLID
inner join dbo.ACADEMICYEARNAMECODE on ACADEMICYEAR.ACADEMICYEARNAMECODEID = ACADEMICYEARNAMECODE.ID
and STUDENTPROGRESSION.STARTDATE = ACADEMICYEAR.STARTDATE
and STUDENTPROGRESSION.ENDDATE = ACADEMICYEAR.ENDDATE
where GETDATE() <= STUDENTPROGRESSION.STARTDATE
and EDUCATIONALHISTORY.CONSTITUENTID =@ID
order by STUDENTPROGRESSION.STARTDATE;
return @year;
end