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