USP_SIMPLEDATALIST_ACADEMICYEAR_GROUPEDBYTIME
Simple list of academic years grouped by time across schools.
Definition
Copy
create procedure dbo.USP_SIMPLEDATALIST_ACADEMICYEAR_GROUPEDBYTIME as
select
T.ID as VALUE,
ACADEMICYEARNAMECODE.DESCRIPTION +
case when T.COLAPSE = 0
then ' - ' + CONSTITUENT.NAME
else ''
end as LABEL
from
(select
ACADEMICYEAR.ID,
ACADEMICYEAR.ACADEMICYEARNAMECODEID,
ACADEMICYEAR.STARTDATE,
ACADEMICYEAR.SCHOOLID,
case when (max(ACADEMICYEAR.STARTDATE) over (partition by ACADEMICYEAR.ACADEMICYEARNAMECODEID) != min(ACADEMICYEAR.STARTDATE) over (partition by ACADEMICYEAR.ACADEMICYEARNAMECODEID)
or max(ACADEMICYEAR.ENDDATE) over (partition by ACADEMICYEAR.ACADEMICYEARNAMECODEID) != min(ACADEMICYEAR.ENDDATE) over (partition by ACADEMICYEAR.ACADEMICYEARNAMECODEID))
then 0
else 1
end as COLAPSE,
ROW_NUMBER() over (partition by ACADEMICYEAR.ACADEMICYEARNAMECODEID order by ACADEMICYEAR.STARTDATE) as ROW
from dbo.ACADEMICYEAR) T
inner join dbo.ACADEMICYEARNAMECODE on T.ACADEMICYEARNAMECODEID = ACADEMICYEARNAMECODE.ID
inner join dbo.CONSTITUENT on T.SCHOOLID = CONSTITUENT.ID
where T.COLAPSE = 0 or T.ROW = 1
order by T.STARTDATE