Files
WinStudentGoalTracker/db/Objects/procedures/sp_Student_GetWithAssignments.sql
T
2026-04-08 07:56:04 -07:00

47 lines
1.2 KiB
SQL

DELIMITER ;;
CREATE DEFINER=`root`@`%` PROCEDURE `sp_Student_GetWithAssignments`(
IN p_id_program CHAR(36),
IN p_id_user CHAR(36),
IN p_scope VARCHAR(10)
)
BEGIN
SELECT
vc.studentId,
vc.identifier,
vc.nextIepDate,
vc.firstEntryDate,
vc.lastEntryDate,
vc.goalCount,
vc.progressEventCount,
vc.benchmarkCount
FROM v_student_card vc
INNER JOIN student s ON s.id_student = vc.studentId
WHERE s.id_program = p_id_program
ORDER BY vc.studentId;
IF p_scope = 'all' THEN
SELECT
us.id_user_student,
us.id_user,
us.id_student,
us.is_primary,
u.name AS ownerName
FROM user_student us
INNER JOIN student s ON s.id_student = us.id_student
INNER JOIN `user` u ON u.id_user = us.id_user
WHERE s.id_program = p_id_program;
ELSE
SELECT
us.id_user_student,
us.id_user,
us.id_student,
us.is_primary,
NULL AS ownerName
FROM user_student us
INNER JOIN student s ON s.id_student = us.id_student
WHERE us.id_user = p_id_user
AND s.id_program = p_id_program;
END IF;
END;;
DELIMITER ;