From d0a1a0782a50ab9ddc0e8ba6fc96239de43822b3 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Sun, 31 Aug 2014 00:53:24 +0400 Subject: [PATCH] GetMapForStudent: in SubjectID -> DisciplineID --- db/StoredProcedures.sql | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index fec1b9507..9cf4330a6 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -922,11 +922,15 @@ END // -- Decs: Полная информация по модулям/подмодулям для данного студента по данному курсу (заголовки модулей, максимальное количество баллов за подмодуль) DROP PROCEDURE IF EXISTS GetMapForStudent// CREATE PROCEDURE `GetMapForStudent` ( IN `StudentID` INT, - IN `SubjectID` INT + IN `DisciplineID` INT ) BEGIN DECLARE groupID, semID INT; - SELECT students.StudyGroupID INTO groupID FROM `students` WHERE students.ID = StudentID LIMIT 1; + SELECT students.StudyGroupID + INTO groupID + FROM `students` + WHERE students.ID = StudentID + LIMIT 1; SET semID = GetCurSemesterID(); SELECT modules.ID AS 'ModuleID', @@ -940,22 +944,9 @@ BEGIN rating_table.Date FROM `submodules` INNER JOIN `modules` ON submodules.ModuleID = modules.ID - LEFT JOIN `rating_table` ON submodules.ID = rating_table.SubModuleID AND rating_table.StudentID = StudentID - WHERE modules.DisciplineID IN - ( SELECT DISTINCT disciplines.ID - FROM `disciplines_teachers` - INNER JOIN `disciplines` ON disciplines_teachers.DisciplineID = disciplines.ID - LEFT JOIN `disciplines_groups` ON disciplines_groups.DisciplineID = disciplines.ID AND - disciplines_groups.StudyGroupID = groupID - LEFT JOIN `disciplines_students` ON disciplines_students.DisciplineID = disciplines.ID AND - disciplines_students.StudentID = StudentID - WHERE disciplines.SemesterID = semID AND - ( disciplines_students.Type = 'attach' OR - ( ( disciplines_students.Type IS NULL OR disciplines_students.Type != 'detach' ) AND - disciplines_groups.StudyGroupID = groupID - ) - ) - ) + LEFT JOIN `rating_table` ON submodules.ID = rating_table.SubModuleID AND + rating_table.StudentID = StudentID + WHERE modules.DisciplineID = DisciplineID ORDER BY modules.OrderNum ASC, submodules.OrderNum ASC; END // -- GitLab