USP_DATALIST_STUDENT_SKILL_COURSE
Returns all Student Skills used by courses.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACADEMICYEARNAMECODEID | uniqueidentifier | IN | Academic year |
@STUDENTSKILLCATEGORYCODEID | uniqueidentifier | IN | Category |
@GRADELEVELID | uniqueidentifier | IN | Grade level |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_STUDENT_SKILL_COURSE
(
@ACADEMICYEARNAMECODEID uniqueidentifier = null,
@STUDENTSKILLCATEGORYCODEID uniqueidentifier = null,
@GRADELEVELID uniqueidentifier = null
)
as
set nocount on;
select
STUDENTSKILL.ID,
STUDENTSKILLCOURSE.ID as STUDENTSKILLCOURSEID,
COURSE.NAME as COURSENAME,
COURSE.ID as COURSEID,
STUDENTSKILL.NAME 'SKILLNAME',
STUDENTSKILLRATINGGROUP.NAME as RATINGNAME,
STUDENTSKILLCATEGORYCODE.DESCRIPTION as CATEGORY,
(select ACADEMICYEARNAMECODE.DESCRIPTION from dbo.ACADEMICYEARNAMECODE
inner join dbo.ACADEMICYEAR on ACADEMICYEARNAMECODE.ID = ACADEMICYEAR.ACADEMICYEARNAMECODEID
where
(STUDENTSKILLCOURSE.STARTDATE = ACADEMICYEAR.STARTDATE) and
(ACADEMICYEAR.SCHOOLID = COURSE.SCHOOLID)) 'STARTYEAR',
(select ACADEMICYEARNAMECODE.DESCRIPTION from dbo.ACADEMICYEARNAMECODE
inner join dbo.ACADEMICYEAR on ACADEMICYEARNAMECODE.ID = ACADEMICYEAR.ACADEMICYEARNAMECODEID
where
(STUDENTSKILLCOURSE.ENDDATE = ACADEMICYEAR.ENDDATE) and
(ACADEMICYEAR.SCHOOLID = COURSE.SCHOOLID)) 'ENDYEAR',
(select stuff(( select '; ' + MARKINGCOLUMNDESCRIPTIONCODE.DESCRIPTION
from dbo.STUDENTSKILLCOURSEMARKINGCOLUMN
join dbo.MARKINGCOLUMNDESCRIPTIONCODE on MARKINGCOLUMNDESCRIPTIONCODE.ID = STUDENTSKILLCOURSEMARKINGCOLUMN.MARKINGCOLUMNDESCRIPTIONCODEID
where STUDENTSKILLCOURSEMARKINGCOLUMN.STUDENTSKILLCOURSEID = STUDENTSKILLCOURSE.ID
order by MARKINGCOLUMNDESCRIPTIONCODE.SEQUENCE
for xml path(''), type).value('.', 'nvarchar(max)'), 1, 2, '')) as STUDENTSKILLCOURSEMARKINGCOLUMNS,
STUDENTSKILLCOURSE.SEQUENCE
from dbo.STUDENTSKILLCOURSE
join dbo.STUDENTSKILL on STUDENTSKILL.ID = STUDENTSKILLCOURSE.STUDENTSKILLID
join dbo.COURSE on COURSE.ID = STUDENTSKILLCOURSE.COURSEID
join dbo.STUDENTSKILLRATINGGROUP on STUDENTSKILLRATINGGROUP.ID = STUDENTSKILL.STUDENTSKILLRATINGGROUPID
left join dbo.STUDENTSKILLCATEGORYCODE on STUDENTSKILL.STUDENTSKILLCATEGORYCODEID = STUDENTSKILLCATEGORYCODE.ID
left join dbo.ACADEMICYEAR on (@ACADEMICYEARNAMECODEID is not null) and
(ACADEMICYEAR.STARTDATE >= STUDENTSKILLCOURSE.STARTDATE) and
((ACADEMICYEAR.ENDDATE <= STUDENTSKILLCOURSE.ENDDATE) or (STUDENTSKILLCOURSE.ENDDATE is null)) and
(ACADEMICYEAR.SCHOOLID = COURSE.SCHOOLID)
where
((@STUDENTSKILLCATEGORYCODEID is null) or (@STUDENTSKILLCATEGORYCODEID = STUDENTSKILLCATEGORYCODE.ID)) and
((@GRADELEVELID is null) or
(@GRADELEVELID in
(select SCHOOLGRADELEVEL.GRADELEVELID from dbo.SCHOOLGRADELEVEL
inner join dbo.COURSEGRADELEVEL on SCHOOLGRADELEVEL.ID = COURSEGRADELEVEL.SCHOOLGRADELEVELID
where COURSEGRADELEVEL.COURSEID = COURSE.ID))) and
((@ACADEMICYEARNAMECODEID is null) or
(ACADEMICYEAR.ACADEMICYEARNAMECODEID = @ACADEMICYEARNAMECODEID))
order by COURSE.NAME, STUDENTSKILLCOURSE.SEQUENCE