diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 99c34a9a9e853acfbd946e9c88cbb1eab71b7ea2..4ebf5b0dcf539da32b7f75ae79d75f1a54e045fd 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -255,7 +255,8 @@ BEGIN FROM `study_groups` INNER JOIN `specializations` ON specializations.ID = study_groups.SpecializationID WHERE study_groups.Grade = Grade AND - specializations.FacultyID = FacultyID; + specializations.FacultyID = FacultyID + ORDER BY specializations.ID ASC, study_groups.Grade ASC, study_groups.GroupNum ASC; END // @@ -267,8 +268,13 @@ BEGIN SELECT students.ID AS 'StudentID', students.LastName AS 'StudentLast', students.FirstName AS 'StudentFirst', - students.SecondName AS 'StudentSecond' + students.SecondName AS 'StudentSecond', + students.AccountID AS 'StudentAccID', + study_groups.ID AS 'GroupID', + study_groups.Grade AS 'GroupGrade', + study_groups.GroupNum AS 'GroupNum' FROM `students` + INNER JOIN `study_groups` ON students.StudyGroupID = study_groups.ID WHERE students.StudyGroupID = StudyGroupID; END // @@ -282,7 +288,11 @@ BEGIN SELECT students.ID AS 'StudentID', students.LastName AS 'StudentLast', students.FirstName AS 'StudentFirst', - students.SecondName AS 'StudentSecond' + students.SecondName AS 'StudentSecond', + students.AccountID AS 'StudentAccID', + study_groups.ID AS 'GroupID', + study_groups.Grade AS 'GroupGrade', + study_groups.GroupNum AS 'GroupNum' FROM `students` INNER JOIN `study_groups` ON study_groups.ID = students.StudyGroupID INNER JOIN `specializations` ON study_groups.SpecializationID = specializations.ID @@ -301,6 +311,7 @@ BEGIN teachers.LastName AS 'TeacherLast', teachers.FirstName AS 'TeacherFirst', teachers.SecondName AS 'TeacherSecond', + teachers.AccountID AS 'TeacherAccID', job_positions.Name AS 'JobPositionName', departments.ID AS 'DepID', departments.Name AS 'DepName' @@ -320,7 +331,8 @@ BEGIN SELECT teachers.ID AS 'TeacherID', teachers.LastName AS 'TeacherLast', teachers.FirstName AS 'TeacherFirst', - teachers.SecondName AS 'TeacherSecond', + teachers.SecondName AS 'TeacherSecond', + teachers.AccountID AS 'TeacherAccID', job_positions.Name AS 'JobPositionName', departments.ID AS 'DepID', departments.Name AS 'DepName' @@ -342,10 +354,42 @@ BEGIN END // +DROP PROCEDURE IF EXISTS GetGroupsForDiscipline// +CREATE PROCEDURE `GetGroupsForDiscipline` ( IN `DisciplineID` INT ) + NO SQL +BEGIN + SELECT disciplines_groups.ID AS 'DiscGroupID', + study_groups.ID AS 'GroupID', + study_groups.Grade AS 'GroupGrade', + study_groups.GroupNum AS 'GroupNum', + study_groups.Name AS 'GroupName' + FROM `disciplines_groups` + INNER JOIN `study_groups` ON study_groups.ID = disciplines_groups.StudyGroupID + WHERE disciplines_groups.DisciplineID = DisciplineID; + +END // +DROP PROCEDURE IF EXISTS GetStudentsByGrade// +CREATE PROCEDURE `GetStudentsByGrade` ( IN `Grade` INT ) + NO SQL +BEGIN + SELECT DISTINCT students.ID AS 'StudentID', + students.LastName As 'StudentLast', + students.FirstName AS 'StudentFirst', + students.SecondName AS 'StudentSecond', + students.AccountID AS 'StudentAccID', + study_groups.ID AS 'GroupID' + study_groups.Grade AS 'GroupGrade', + study_groups.GroupNum AS 'GroupNum', + disciplines_students.Type AS 'Type' + FROM `students` + INNER JOIN `study_groups` ON students.StudyGroupID = study_groups.ID + WHERE study_groups.Grade = Grade + ORDER BY students.LastName ASC, students.FirstName ASC, students.SecondName ASC; +END // -- ------------------------------------------------------------------------------------------- @@ -1551,7 +1595,7 @@ END // DROP FUNCTION IF EXISTS BindStudent// CREATE FUNCTION `BindStudent` ( `TeacherID` INT, - `DisciplineID` INt, + `DisciplineID` INT, `StudentID` INT ) RETURNS int(11) NO SQL