From ea7d0c891aefeb4dc197a4c0c9af8fe140c80aaf Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Mon, 4 Aug 2014 23:47:47 +0400 Subject: [PATCH] =?UTF-8?q?GetDisciplineInfoByID=20&=20GetTeachersForDisci?= =?UTF-8?q?pline=20+=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B2=20=D0=B1=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/DatabaseSample.sql | 6 ++--- db/DatabaseStructure.sql | 4 +-- db/StoredProcedures.sql | 53 +++++++++++++++++++++++++++++++++++++--- 3 files changed, 55 insertions(+), 8 deletions(-) diff --git a/db/DatabaseSample.sql b/db/DatabaseSample.sql index 51c34a663..56f722f67 100644 --- a/db/DatabaseSample.sql +++ b/db/DatabaseSample.sql @@ -3,7 +3,7 @@ -- http://www.phpmyadmin.net -- -- Хост: 127.0.0.1:3306 --- Время создания: Авг 04 2014 г., 18:58 +-- Время создания: Авг 04 2014 г., 23:45 -- Версия сервера: 5.5.37-log -- Версия PHP: 5.3.28 @@ -541,7 +541,7 @@ INSERT INTO `study_groups` (`ID`, `Grade`, `Group`, `SpecializationID`, `Faculty CREATE TABLE IF NOT EXISTS `subjects` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(50) NOT NULL, - `SubjectAbbr` varchar(20) DEFAULT NULL, + `Abbr` varchar(20) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; @@ -549,7 +549,7 @@ CREATE TABLE IF NOT EXISTS `subjects` ( -- Дамп данных таблицы `subjects` -- -INSERT INTO `subjects` (`ID`, `Name`, `SubjectAbbr`) VALUES +INSERT INTO `subjects` (`ID`, `Name`, `Abbr`) VALUES (1, 'Математический анализ', 'Матан'), (2, 'Дифференциальные уравнения', 'Дифф. ур-я'), (3, 'Операционные системы', 'ОС'), diff --git a/db/DatabaseStructure.sql b/db/DatabaseStructure.sql index 14b68b49b..2e6688f0b 100644 --- a/db/DatabaseStructure.sql +++ b/db/DatabaseStructure.sql @@ -3,7 +3,7 @@ -- http://www.phpmyadmin.net -- -- Хост: 127.0.0.1:3306 --- Время создания: Авг 04 2014 г., 18:59 +-- Время создания: Авг 04 2014 г., 23:45 -- Версия сервера: 5.5.37-log -- Версия PHP: 5.3.28 @@ -364,7 +364,7 @@ CREATE TABLE IF NOT EXISTS `study_groups` ( CREATE TABLE IF NOT EXISTS `subjects` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(50) NOT NULL, - `SubjectAbbr` varchar(20) DEFAULT NULL, + `Abbr` varchar(20) DEFAULT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 5ce0b7aae..795898004 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -163,9 +163,9 @@ BEGIN faculties.ID AS 'FacultyID', faculties.Name AS 'FacultyName', faculties.Abbr AS 'FacultyAbbreviation' - FROM accounts - INNER JOIN teachers ON UserID = AccountID - INNER JOIN faculties ON teachers.FacultyID = faculties.ID + FROM `accounts` + INNER JOIN `teachers` ON UserID = teachers.AccountID + INNER JOIN `faculties` ON teachers.FacultyID = faculties.ID WHERE accounts.ID = UserID; END IF; @@ -460,6 +460,53 @@ END // +DROP PROCEDURE IF EXISTS GetDisciplineInfoByID; // +CREATE PROCEDURE `GetDisciplineInfoByID`(IN `DiscID` INT) + NO SQL +BEGIN + + SELECT disciplines.Name AS 'DisciplineName', + disciplines.AuthorID AS 'AuthorID', + disciplines.Grade AS 'DisciplineGrade', + disciplines.ExamType, + disciplines.Type AS 'LessonType', + disciplines.LectionCount, + disciplines.PracticeCount, + disciplines.SemesterID, + subjects.ID AS 'SubjectID', + subjects.Name AS 'SubjectName', + subjects.Abbr AS 'SubjectAbbr' + + + FROM `disciplines` + INNER JOIN `subjects` ON subjects.ID = disciplines.SubjectID + WHERE disciplines.ID = DiscID; +END // + + +DROP PROCEDURE IF EXISTS GetTeachersForDiscipline; // +CREATE PROCEDURE `GetTeachersForDiscipline`(IN `DiscID` INT) + NO SQL +BEGIN + + SELECT teachers.ID AS 'TeacherID', + teachers.LastName, + teachers.FirstName, + teachers.SecondName, + teachers.Degree, + faculties.ID AS 'FacultyID', + faculties.Name AS 'FacultyName', + faculties.Abbr AS 'FacultyAbbreviation' + FROM `disciplines_teachers` + INNER JOIN `teachers` ON teachers.ID = disciplines_teachers.TeacherID + INNER JOIN `faculties` ON teachers.FacultyID = faculties.ID + WHERE disciplines_teachers.DisciplineID = DiscID; +END // + + + + + -- Desc: Вывод всех курсов (ID курса, название курса, базовая студ.группа-слушатель), которые ведет преподаватель DROP PROCEDURE IF EXISTS GetDisciplinesForTeacher; // CREATE PROCEDURE `GetDisciplinesForTeacher`(IN `TeacherID` INT) -- GitLab