;with cte as
(
select
STUDENT_ID,
max(case when rn = 1 then STP_ACADEMIC_PROGRAM else null end) ACAD_PROGRAM_1,
max(case when rn = 2 then STP_ACADEMIC_PROGRAM else null end) ACAD_PROGRAM_2,
max(case when rn = 3 then STP_ACADEMIC_PROGRAM else null end) ACAD_PROGRAM_3,
max(case when rn = 1 then STP_DEPT else null end) STP_DEPT_1,
max(case when rn = 2 then STP_DEPT else null end) STP_DEPT_2,
max(case when rn = 3 then STP_DEPT else null end) STP_DEPT_3,
max(case when rn = 4 then STP_DEPT else null end) STP_DEPT_4,
max(case when rn = 5 then STP_DEPT else null end) STP_DEPT_5
from (
Select
pv.STUDENT_ID, pv.STP_ACADEMIC_PROGRAM, pv.STP_DEPT,
Row_Number() Over (Partition By pv.STUDENT_ID
Order By pv.STP_ACAD_LEVEL, pv.STP_DEGREE,
pv.STP_DEPT, pv.STP_ACADEMIC_PROGRAM) rn
From TERMS t Right Join STUDENT_ACAD_PROGRAMS_VIEW
On pv.STP_START_DATE = t.TERM_END_DATE)
Where t.TERMS_ID = Upper(@Term) And pv.STP_CURRENT_STATUS 'Potential'
And pv.STP_CCDS1 Is Null
) t
group by STUDENT_ID
)
Select
COURSE_SECTIONS1.SEC_SUBJECT As [Primary Subject],
COURSE_SECTIONS.SEC_SHORT_TITLE,
COURSE_SECTIONS.SEC_SUBJECT,
Case
When SubQuery.STUDENT_CURRENT_TYPE Is Null Then 'Unknown'
When COURSE_SECTIONS.SEC_SUBJECT in(cte.STP_DEPT_1, cte.STP_DEPT_2, cte.STP_DEPT_3,
cte.STP_DEPT_4, cte.STP_DEPT_5) and SubQuery.STUDENT_CURRENT_TYPE = 'LLM' Then 'Other LLM'
When COURSE_SECTIONS.SEC_SUBJECT in(cte.STP_DEPT_1, cte.STP_DEPT_2, cte.STP_DEPT_3,
cte.STP_DEPT_4, cte.STP_DEPT_5) and SubQuery.STUDENT_CURRENT_TYPE = 'MS' Then 'Other MS'
When SubQuery.STUDENT_CURRENT_TYPE in ('JD', 'JDLLM') Then SubQuery.STUDENT_CURRENT_TYPE
Else 'Other'
End As [Student Category],
STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_ID,
COURSE_SECTIONS.SEC_NAME,
STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_LAST_NAME,
STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_FIRST_NAME,
STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_MIDDLE_NAME,
STUDENT_ENROLLMENT_DETAIL_VIEW.ENROLL_CREDITS,
cte.ACAD_PROGRAM_1,
cte.ACAD_PROGRAM_2,
cte.ACAD_PROGRAM_3,
COURSE_SECTIONS1.SEC_NAME As [Primary Name]
From
COURSE_SECTIONS Inner Join COURSE_SEC_XLISTS
On COURSE_SECTIONS.SEC_XLIST = COURSE_SEC_XLISTS.COURSE_SEC_XLISTS_ID
Left Join COURSE_SECTIONS COURSE_SECTIONS1
On COURSE_SEC_XLISTS.CSXL_PRIMARY_SECTION = COURSE_SECTIONS1.COURSE_SECTIONS_ID
Left Join STUDENT_ENROLLMENT_DETAIL_VIEW
On STUDENT_ENROLLMENT_DETAIL_VIEW.SECTION_COURSE_SECTION_ID = COURSE_SECTIONS.COURSE_SECTIONS_ID
Left Join
(
Select
R1.STUDENTS_ID,
R1.STU_TYPES As STUDENT_CURRENT_TYPE
From STU_TYPE_INFO As R1 With(NoLock)
Where
R1.POS = (
Select
Min(R2.POS) As MINPOS
From STU_TYPE_INFO As R2 With(NoLock) Left Join TERMS
On R2.STU_TYPE_DATES < TERMS.TERM_START_DATE
Where
R1.STUDENTS_ID = R2.STUDENTS_ID And TERMS.TERMS_ID = Upper(@Term)
Group By R2.STUDENTS_ID, TERMS.TERMS_ID)
) As SubQuery
On STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_ID = SubQuery.STUDENTS_ID
Left Join cte
On STUDENT_ENROLLMENT_DETAIL_VIEW.STUDENT_ID = cte.STUDENT_ID
Where
COURSE_SECTIONS1.SEC_SUBJECT COURSE_SECTIONS.SEC_SUBJECT And
(COURSE_SECTIONS.SEC_TERM = Upper(@Term) And
COURSE_SECTIONS.SEC_XLIST Is Not Null And
STUDENT_ENROLLMENT_DETAIL_VIEW.ENROLL_TERM = Upper(@Term) And
STUDENT_ENROLLMENT_DETAIL_VIEW.SECTION_COURSE_SECTION_ID Is Not Null And
(STUDENT_ENROLLMENT_DETAIL_VIEW.ENROLL_CURRENT_STATUS = 'Add' Or
STUDENT_ENROLLMENT_DETAIL_VIEW.ENROLL_CURRENT_STATUS = 'New'))
Hope this help. Oleg
16 People are following this question.