Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT DISTINCT
- SUBJECT_PLAN_STUDENT_ID,
- STUDENT_KEY_ID,
- IS_SHOW,
- PLAN_STUDENT_DESCRIPTION,
- LAST_NAME,
- FIRST_NAME,
- ACTUAL_HOUR,
- TOTAL_HOUR,
- ATTENDANCE,
- ATTENDANCE_PERCENT,
- PROGRESS_MARK,
- ROUND(PROGRESS_MARK_PERCENT, $float) AS PROGRESS_MARK_PERCENT,
- SEMISTER_SCORE,
- ROUND(SEMISTER_SCORE_PERCENT, $float) AS SEMISTER_SCORE_PERCENT,
- (
- SELECT
- sg.GRADE
- FROM CAM_CLASS_KEY ck
- INNER JOIN CAM_PROGRAM_GRADE pg on ck.PROGRAM_ID = pg.PROGRAM_ID
- INNER JOIN CAM_GRADE_LEVEL cl ON pg.GRADE_LEVEL_ID = cl.GRADE_LEVEL_ID
- INNER JOIN CAM_SUBJECT_GRADE sg on cl.GRADE_LEVEL_ID = sg.GRADE_LEVEL_ID
- WHERE CLASS_KEY_ID = $classKeyId
- AND MARK_FROM <= ROUND(ATTENDANCE_PERCENT+PROGRESS_MARK_PERCENT+SEMISTER_SCORE_PERCENT, $float)
- AND ROUND(ATTENDANCE_PERCENT+PROGRESS_MARK_PERCENT+SEMISTER_SCORE_PERCENT, $float ) <= MARK_TO
- ) AS FINAL_MARK_S,
- ROUND(ATTENDANCE_PERCENT+PROGRESS_MARK_PERCENT+SEMISTER_SCORE_PERCENT) AS FINAL_MARK
- FROM (
- SELECT
- s.SUBJECT_PLAN_STUDENT_ID,
- s.STUDENT_KEY_ID,
- s.IS_SHOW,
- s.PLAN_STUDENT_DESCRIPTION,
- per.". $languageCode ."LAST_NAME AS LAST_NAME,
- per.". $languageCode ."FIRST_NAME AS FIRST_NAME,
- CASE WHEN tem.ACTUAL_HOUR IS NULL THEN tem2.SCHEDULE_DATE ELSE tem.ACTUAL_HOUR END AS ACTUAL_HOUR,
- CASE WHEN tem.TOTAL_HOUR IS NULL THEN tem2.ATTENDANCE_COUNT ELSE tem.TOTAL_HOUR END AS TOTAL_HOUR,
- CASE WHEN tem.ACTUAL_HOUR IS NULL THEN
- CASE WHEN tem2.SCHEDULE_DATE > 0 THEN ROUND(tem2.ATTENDANCE_COUNT /tem2.SCHEDULE_DATE, $float)*100 ELSE 0 END
- ELSE ROUND(tem.TOTAL_HOUR /tem.ACTUAL_HOUR, $float)*100 END
- AS ATTENDANCE,
- CASE WHEN ". $markData['attendance'] ." > 0 THEN
- CASE WHEN tem.TOTAL_HOUR IS NULL THEN
- CASE WHEN tem2.SCHEDULE_DATE > 0 THEN ROUND(ROUND(tem2.ATTENDANCE_COUNT/tem2.SCHEDULE_DATE, $float)*100*10)/100 ELSE 0 END
- ELSE ROUND(ROUND(tem.TOTAL_HOUR/tem.ACTUAL_HOUR, $float)*100*". $markData['attendance'] .", $float)/100 END
- ELSE 0 END AS ATTENDANCE_PERCENT,
- CASE WHEN tem2.SCHEDULE_DATE > 0 AND ". $markData['progress'] ." > 0
- THEN tem1.MARK
- ELSE 0 END AS PROGRESS_MARK,
- CASE WHEN tem2.SCHEDULE_DATE > 0 AND ". $markData['progress'] ." > 0
- THEN CASE WHEN tem1.MARK IS NULL AND tem1.PROGRESS_MARK IS NULL THEN 0 ELSE ROUND((tem1.MARK*". $markData['progress'] ."/tem1.PROGRESS_MARK), $float) END
- ELSE 0 END AS PROGRESS_MARK_PERCENT,
- CASE WHEN tem.SEMISTER_SCORE IS NULL THEN 0 ELSE tem.SEMISTER_SCORE END AS SEMISTER_SCORE,
- CASE WHEN ". $markData['exam'] ." > 0
- THEN CASE WHEN tem.SEMISTER_SCORE IS NULL THEN 0 ELSE ROUND(tem.SEMISTER_SCORE*". $markData['exam'] .", $float)/100
- END
- ELSE 0 END AS SEMISTER_SCORE_PERCENT
- FROM cam_subject_plan p
- INNER JOIN cam_subject_plan_student s ON p.SUBJECT_PLAN_ID = s.SUBJECT_PLAN_ID
- INNER JOIN cam_student_key stuk ON s.STUDENT_KEY_ID = stuk.STUDENT_KEY_ID AND p.CLASS_KEY_ID = stuk.CLASS_KEY_ID
- INNER JOIN VW_CAM_STUDENT per ON stuk.STUDENT_KEY_ID = per.STUDENT_KEY_ID
- LEFT JOIN (
- SELECT
- mar.SEMISTER_SCORE, stu.SUBJECT_PLAN_STUDENT_ID, mar.ACTUAL_HOUR, mar.TOTAL_HOUR
- FROM cam_subject_plan_student stu
- INNER JOIN cam_student_attempt att ON stu.SUBJECT_PLAN_STUDENT_ID = att.SUBJECT_PLAN_STUDENT_ID
- INNER JOIN cam_mark mar ON att.STUDENT_ATTEMPT_ID = mar.STUDENT_ATTEMPT_ID
- WHERE mar.ACTUAL_HOUR IS NOT NULL AND mar.TOTAL_HOUR IS NOT NULL AND mar.TOTAL_HOUR <> 0 AND mar.ACTUAL_HOUR <> 0
- ) tem ON s.SUBJECT_PLAN_STUDENT_ID = tem.SUBJECT_PLAN_STUDENT_ID
- LEFT JOIN (
- SELECT
- tem2.STUDENT_KEY_ID,
- COUNT(tem2.SCHEDULE_DATE) AS SCHEDULE_COUNT,
- CASE WHEN SUM(tem3.MARK) IS NULL THEN 0 ELSE SUM(tem3.MARK) END AS MARK,
- CASE WHEN SUM(tem3.PROGRESS_MARK) IS NULL THEN 0 ELSE SUM(tem3.PROGRESS_MARK) END AS PROGRESS_MARK
- FROM (
- SELECT stuk.STUDENT_KEY_ID, tem.SCHEDULE_DATE, tem.SUBJECT_ID, stuk.CLASS_KEY_ID
- FROM cam_student_key stuk
- LEFT OUTER JOIN (
- SELECT
- DISTINCT sche.SCHEDULE_DATE,
- sche.CLASS_KEY_ID,
- pl.SUBJECT_ID
- FROM cam_subject_plan pl
- INNER JOIN cam_subject_schedule sche ON pl.SUBJECT_PLAN_ID = sche.SUBJECT_PLAN_ID AND pl.SUBJECT_ID = sche.SUBJECT_ID AND pl.CLASS_KEY_ID = sche.CLASS_KEY_ID
- INNER JOIN cam_student_mark mar ON sche.SUBJECT_SCHEDULE_ID = mar.SUBJECT_SCHEDULE_ID
- WHERE pl.CLASS_KEY_ID = $classKeyId AND pl.SUBJECT_ID = $subjectId AND pl.SEMISTER_PLAN_ID = $semisterPlanId
- ) tem ON stuk.CLASS_KEY_ID = tem.CLASS_KEY_ID
- WHERE stuk.CLASS_KEY_ID = $classKeyId AND tem.SUBJECT_ID = $subjectId AND stuk.IS_ACTIVE = 1
- ORDER BY stuk.STUDENT_KEY_ID
- ) tem2
- LEFT JOIN (
- SELECT
- DISTINCT
- sche.SCHEDULE_DATE,
- sche.CLASS_KEY_ID,
- pl.SUBJECT_ID,
- sche.PROGRESS_MAX_MARK AS PROGRESS_MARK,
- mar.TAKE_MARK AS MARK,
- mar.STUDENT_KEY_ID
- FROM cam_subject_plan pl
- INNER JOIN cam_subject_schedule sche ON pl.SUBJECT_PLAN_ID = sche.SUBJECT_PLAN_ID AND pl.SUBJECT_ID = sche.SUBJECT_ID AND pl.CLASS_KEY_ID = sche.CLASS_KEY_ID
- INNER JOIN cam_student_mark mar ON sche.SUBJECT_SCHEDULE_ID = mar.SUBJECT_SCHEDULE_ID
- WHERE pl.SEMISTER_PLAN_ID = $semisterPlanId
- ) tem3 ON tem2.SCHEDULE_DATE = tem3.SCHEDULE_DATE AND tem2.CLASS_KEY_ID = tem3.CLASS_KEY_ID AND tem2.SUBJECT_ID = tem3.SUBJECT_ID AND tem2.STUDENT_KEY_ID = tem3.STUDENT_KEY_ID
- WHERE tem3.MARK IS NOT NULL AND tem3.PROGRESS_MARK IS NOT NULL
- GROUP BY tem2.STUDENT_KEY_ID
- ) tem1 ON stuk.STUDENT_KEY_ID = tem1.STUDENT_KEY_ID
- LEFT JOIN (
- SELECT
- stuk.STUDENT_KEY_ID,
- CASE WHEN tem.ATTENDANCE_COUNT IS NULL THEN 0 ELSE tem.ATTENDANCE_COUNT END AS ATTENDANCE_COUNT,
- tem2.SCHEDULE_DATE
- FROM cam_student_key stuk
- LEFT OUTER JOIN (
- SELECT
- COUNT(DISTINCT att.ATTENDANCE_ID) AS ATTENDANCE_COUNT,
- att.STUDENT_KEY_ID
- FROM cam_subject_plan p
- INNER JOIN cam_subject_schedule s ON p.SUBJECT_PLAN_ID = s.SUBJECT_PLAN_ID AND p.CLASS_KEY_ID = s.CLASS_KEY_ID AND p.SUBJECT_ID = s.SUBJECT_ID
- INNER JOIN cam_attendance att ON s.SUBJECT_SCHEDULE_ID = att.SUBJECT_SCHEDULE_ID
- INNER JOIN cam_attendance_type attt ON att.ATTENDANCE_TYPE_ID = attt.ATTENDANCE_TYPE_ID
- WHERE p.CLASS_KEY_ID = $classKeyId
- AND attt.IS_MANUAL = 1
- AND p.SUBJECT_ID = $subjectId
- GROUP BY att.STUDENT_KEY_ID
- ) tem ON stuk.STUDENT_KEY_ID = tem.STUDENT_KEY_ID
- LEFT OUTER JOIN (
- SELECT COUNT(s.SCHEDULE_DATE) AS SCHEDULE_DATE
- FROM cam_subject_plan p
- INNER JOIN cam_subject_schedule s ON p.SUBJECT_PLAN_ID = s.SUBJECT_PLAN_ID AND p.CLASS_KEY_ID = s.CLASS_KEY_ID AND p.SUBJECT_ID = s.SUBJECT_ID
- WHERE p.CLASS_KEY_ID = $classKeyId
- AND p.SUBJECT_ID = $subjectId
- ) tem2 on tem2.SCHEDULE_DATE = tem2.SCHEDULE_DATE
- WHERE stuk.CLASS_KEY_ID = $classKeyId AND stuk.IS_ACTIVE = 1
- ORDER BY stuk.STUDENT_KEY_ID
- ) tem2 ON stuk.STUDENT_KEY_ID = tem2.STUDENT_KEY_ID
- WHERE p.SUBJECT_ID = $subjectId AND p.CLASS_KEY_ID = $classKeyId AND p.SEMISTER_PLAN_ID = $semisterPlanId AND stuk.IS_ACTIVE = 1 $andWhere ) tem ORDER BY FIRST_NAME
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement