UFN_GRADINGSCALEGRADE_RANGESOVERLAP

Determine if any of the score ranges in the grading scale overlap.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@GRADINGSCALEID uniqueidentifier IN

Definition

Copy


create function dbo.UFN_GRADINGSCALEGRADE_RANGESOVERLAP
(
    @GRADINGSCALEID uniqueidentifier
)
returns bit
as begin
    declare @RETVAL int = 0

    if (exists (select *
                from dbo.GRADINGSCALEGRADE gsg
                    left outer join dbo.GRADINGSCALEGRADE gsg2 on gsg.GRADINGSCALEID = gsg2.GRADINGSCALEID
                where gsg.GRADINGSCALEID = @GRADINGSCALEID
                    and gsg.ID <> gsg2.ID
                    and gsg.HIGHESTSCORE > 0 and gsg2.HIGHESTSCORE > 0
                    and ((gsg2.HIGHESTSCORE between gsg.LOWESTSCORE and gsg.HIGHESTSCORE)
                        or (gsg2.LOWESTSCORE between gsg.LOWESTSCORE and gsg.HIGHESTSCORE))
        ))
        set @RETVAL = 1;

    return @RETVAL;
end