Skip to content
Snippets Groups Projects
Commit 8a505b6f authored by PavelBegunkov's avatar PavelBegunkov
Browse files

optimizing

parent deefb198
Branches
Tags
No related merge requests found
......@@ -1124,22 +1124,24 @@ BEGIN
WHERE disciplines.ID = DiscID;
END //
DROP FUNCTION IF EXISTS isAuthorOfDiscipline//
CREATE FUNCTION `isAuthorOfDiscipline`( `DisciplineID` INT,
`TeacherID` INT
) RETURNS int(11)
NO SQL
BEGIN
DECLARE checker INT;
SELECT disciplines.AuthorID
INTO checker
FROM `disciplines`
WHERE disciplines.ID = DisciplineID
LIMIT 1;
RETURN (checker IS NOT NULL AND checker = TeacherID);
-- Deprecated
-- DROP FUNCTION IF EXISTS isAuthorOfDiscipline//
-- CREATE FUNCTION `isAuthorOfDiscipline`( `DisciplineID` INT,
-- `TeacherID` INT
-- ) RETURNS int(11)
-- NO SQL
-- BEGIN
-- DECLARE checker INT;
-- SELECT disciplines.AuthorID
-- INTO checker
-- FROM `disciplines`
-- WHERE disciplines.ID = DisciplineID
-- LIMIT 1;
-- RETURN (checker IS NOT NULL AND checker = TeacherID);
END //
-- END //
DROP PROCEDURE IF EXISTS GetTeachersForDiscipline//
CREATE PROCEDURE `GetTeachersForDiscipline`(IN `DiscID` INT)
......@@ -1157,8 +1159,9 @@ BEGIN
faculties.ID AS 'FacultyID',
faculties.Name AS 'FacultyName',
faculties.Abbr AS 'FacultyAbbr',
isAuthorOfDiscipline(DiscID, teachers.ID) AS 'isAuthor'
(teachers.ID = disciplines.AuthorID) AS 'isAuthor'
FROM `disciplines_teachers`
INNER JOIN `disciplines` ON disciplines.ID = disciplines_teachers.DisciplineID
INNER JOIN `teachers` ON teachers.ID = disciplines_teachers.TeacherID
INNER JOIN `departments` ON departments.ID = teachers.DepartmentID
INNER JOIN `faculties` ON departments.FacultyID = faculties.ID
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment