From dd438f8b2c4749eadf4664cc11241ff44339e995 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Tue, 26 Aug 2014 17:24:03 +0400 Subject: [PATCH] ... --- db/StoredProcedures.sql | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 1efdc5e9f..5fcac4ed0 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -931,7 +931,35 @@ BEGIN END // +DROP PROCEDURE IF EXISTS SearchStudents// +CREATE PROCEDURE `SearchStudents` ( IN `Grade` INT, + IN `GroupN` INT, + IN `FacultyID` INT, + IN `Last` VARCHAR(30) CHARSET utf8, + IN `First` VARCHAR(30) CHARSET utf8, + IN `Second` VARCHAR(30) CHARSET utf8 + ) + NO SQL +BEGIN + SELECT students.ID AS 'StudentID', + students.LastName AS 'StudentLast', + students.FirstName AS 'StudentFirst', + students.SecondName AS 'StudentSecond', + study_groups.Grade AS 'GroupGrade', + study_groups.GroupNum AS 'GroupNum' + FROM `students` + INNER JOIN `study_groups` ON students.StudyGroupID = study_groups.ID + INNER JOIN `specializations` ON study_groups.SpecializationID = specializations.ID + WHERE ( Grade IS NULL OR study_groups.Grade = Grade) AND + ( GroupN IS NULL OR study_groups.GroupNum = GroupN) AND + ( FacultyID IS NULL OR specializations.FacultyID = FacultyID) AND + ( Last IS NULL OR ( students.LastName REGEXP CONCAT("^",Last,"*"))) AND + ( First IS NULL OR ( students.FirstName REGEXP CONCAT("^",First,"*"))) AND + ( Second IS NULL OR ( students.SecondName REGEXP CONCAT("^",Second,"*"))) + ORDER BY study_groups.Grade ASC, study_groups.GroupNum ASC; + +END // -- GitLab