USP_SIMPLEDATALIST_STUDENTCLASSTERM

List of terms the specified student is enrolled in for the specified student course record.

Parameters

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

Definition

Copy


CREATE procedure dbo.USP_SIMPLEDATALIST_STUDENTCLASSTERM
(
    @STUDENTCOURSEID uniqueidentifier = null,
    @CLASSID uniqueidentifier = null,
    @FILTER_WITHDRAWALDATE bit = null
)
as
    declare @CURRENTDATE datetime = getdate()

    select 
        TERM.ID as VALUE
        TERMNAMECODE.DESCRIPTION as LABEL
    from dbo.STUDENTCOURSE
        inner join dbo.STUDENTCLASSMEETINGGROUP on STUDENTCOURSE.ID = STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID
        inner join dbo.CLASSMEETINGGROUP on STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID = CLASSMEETINGGROUP.ID
        inner join dbo.COURSE on STUDENTCOURSE.COURSEID = COURSE.ID
        inner join dbo.ACADEMICYEAR on ACADEMICYEAR.SCHOOLID = COURSE.SCHOOLID
        inner join dbo.SESSION on ACADEMICYEAR.ID = SESSION.ACADEMICYEARID
        inner join dbo.TERM on SESSION.ID = TERM.SESSIONID
            and CLASSMEETINGGROUP.STARTDATE = TERM.STARTDATE
            and CLASSMEETINGGROUP.ENDDATE = TERM.ENDDATE
            and (
                    @FILTER_WITHDRAWALDATE is null
                    or @FILTER_WITHDRAWALDATE = 0
                    or TERM.WITHDRAWALDATE < @CURRENTDATE
                )
        inner join dbo.TERMNAMECODE on TERM.TERMNAMECODEID = TERMNAMECODE.ID
    where STUDENTCOURSE.ID = @STUDENTCOURSEID
        and STUDENTCLASSMEETINGGROUP.STATUSCODE = 0 and
        (@CLASSID is null or @CLASSID = CLASSMEETINGGROUP.CLASSID)
    group by TERM.ID, TERMNAMECODE.DESCRIPTION, TERM.STARTDATE
    order by TERM.STARTDATE