Skip to content
Snippets Groups Projects
Commit c78962c5 authored by xamgore's avatar xamgore
Browse files

Merge remote-tracking branch 'origin/develop' into dev

parents b2f7a5f8 3076d482
Branches
Tags
No related merge requests found
......@@ -512,10 +512,9 @@ END //
DROP PROCEDURE IF EXISTS GetStudentsByStudyGroups//
DROP PROCEDURE IF EXISTS GetStudents//
CREATE PROCEDURE `GetStudents` (
IN `pGroupID` INT,
IN `pSemesterID` INT
)
NO SQL
IN `pGroupID` INT,
IN `pSemesterID` INT
) NO SQL
BEGIN
SELECT view_students.StudentID AS 'ID',
view_students.LastName,
......@@ -593,7 +592,7 @@ BEGIN
ORDER BY view_students.LastName ASC, view_students.FirstName ASC;
END //
# students, that don't included in general groups without attached
# not in general groups, not attached
DROP PROCEDURE IF EXISTS SearchStudents//
CREATE PROCEDURE `SearchStudents` (
......@@ -664,35 +663,50 @@ END //
# in general groups, attached and detached
# in general groups, attached or detached
DROP PROCEDURE IF EXISTS GetStudentsForDiscipline//
CREATE PROCEDURE `GetStudentsForDiscipline` (
IN `pDisciplineID` INT
)
NO SQL
IN `pDisciplineID` INT
) NO SQL
BEGIN
DECLARE vSemesterID INT DEFAULT -1;
SET vSemesterID = GetDisciplineProperty(pDisciplineID, 'semester');
SELECT view_disciplines_students.StudentID AS 'ID',
view_disciplines_students.LastName,
view_disciplines_students.FirstName,
view_disciplines_students.SecondName,
view_disciplines_students.GradeID,
view_disciplines_students.GradeNum,
view_disciplines_students.Degree,
view_disciplines_students.GroupID,
view_disciplines_students.GroupNum,
view_disciplines_students.AttachType AS 'AttachType'
FROM `view_disciplines_students`
WHERE view_disciplines_students.DisciplineID = pDisciplineID AND
view_disciplines_students.SemesterID = vSemesterID
ORDER BY (view_disciplines_students.AttachType IS NULL OR
view_disciplines_students.AttachType = 'detach') DESC,
view_disciplines_students.GradeID ASC,
view_disciplines_students.GroupNum ASC,
view_disciplines_students.LastName ASC,
view_disciplines_students.FirstName ASC;
SELECT view_students.StudentID AS 'ID',
view_students.LastName,
view_students.FirstName,
view_students.SecondName,
view_students.GradeID,
view_students.GradeNum,
view_students.Degree,
view_students.GroupID,
view_students.GroupNum,
tDiscStudents.Type AS 'AttachType'
FROM (
SELECT st.StudentID,
COALESCE(st.Type) AS 'Type'
FROM (
SELECT disciplines_students.StudentID,
disciplines_students.Type
FROM `disciplines_students`
WHERE disciplines_students.DisciplineID = pDisciplineID
UNION
SELECT students_groups.StudentID,
NULL AS 'Type'
FROM `disciplines_groups`
LEFT JOIN `students_groups` ON students_groups.SemesterID = vSemesterID AND
students_groups.GroupID = disciplines_groups.GroupID
WHERE disciplines_groups.DisciplineID = pDisciplineID
) as st
GROUP BY st.StudentID
) tDiscStudents
INNER JOIN `view_students` ON view_students.StudentID = tDiscStudents.StudentID AND
view_students.SemesterID = vSemesterID
ORDER BY ( tDiscStudents.Type <=> 'attach' ) ASC,
view_students.GradeID ASC,
view_students.GroupNum ASC,
view_students.LastName ASC,
view_students.FirstName ASC;
END //
......@@ -706,25 +720,42 @@ BEGIN
DECLARE vSemesterID INT DEFAULT -1;
SET vSemesterID = GetDisciplineProperty(pDisciplineID, 'semester');
SELECT view_disciplines_students.StudentID AS 'ID',
view_disciplines_students.LastName,
view_disciplines_students.FirstName,
view_disciplines_students.SecondName,
view_disciplines_students.GradeID,
view_disciplines_students.GradeNum,
view_disciplines_students.Degree,
view_disciplines_students.GroupID,
view_disciplines_students.GroupNum,
(view_disciplines_students.AttachType IS NOT NULL) AS 'IsAttached'
FROM `view_disciplines_students`
WHERE view_disciplines_students.SemesterID = vSemesterID AND
view_disciplines_students.DisciplineID = pDisciplineID AND
(view_disciplines_students.AttachType IS NULL OR
view_disciplines_students.AttachType = 'attach')
ORDER BY view_disciplines_students.GradeID ASC,
view_disciplines_students.GroupNum ASC,
view_disciplines_students.LastName ASC,
view_disciplines_students.FirstName ASC;
SELECT view_students.StudentID AS 'ID',
view_students.LastName,
view_students.FirstName,
view_students.SecondName,
view_students.GradeID,
view_students.GradeNum,
view_students.Degree,
view_students.GroupID,
view_students.GroupNum,
( tDiscStudents.Type IS NOT NULL ) AS 'IsAttached'
FROM (
SELECT st.StudentID,
COALESCE(st.Type) AS 'Type'
FROM (
SELECT disciplines_students.StudentID,
disciplines_students.Type
FROM `disciplines_students`
WHERE disciplines_students.DisciplineID = pDisciplineID
UNION
SELECT students_groups.StudentID,
NULL AS 'Type'
FROM `disciplines_groups`
LEFT JOIN `students_groups` ON students_groups.SemesterID = vSemesterID AND
students_groups.GroupID = disciplines_groups.GroupID
WHERE disciplines_groups.DisciplineID = pDisciplineID
) as st
GROUP BY st.StudentID
) tDiscStudents
INNER JOIN `view_students` ON view_students.StudentID = tDiscStudents.StudentID AND
view_students.SemesterID = vSemesterID
WHERE NOT tDiscStudents.Type <=> 'detach'
ORDER BY view_students.GradeID ASC,
view_students.GroupNum ASC,
view_students.LastName ASC,
view_students.FirstName ASC;
END //
......
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