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