LOCK TABLES logs_binds_students WRITE, submodules READ, modules READ, disciplines READ, students_groups READ, record_books WRITE; -- -------------------------------------------------------- # logs_bind_students # 1. создать поле RecordBookID # 2. заполнить поле RecordBookID # 3. удалить все связи поля StudentID и потом само поле # 4. создать связи для поля RecordBookID ALTER TABLE `logs_binds_students` ADD COLUMN `RecordBookID` int(11), ADD KEY (`RecordBookID`); UPDATE `logs_binds_students` INNER JOIN disciplines on disciplines.ID = logs_binds_students.DisciplineID INNER JOIN students_groups on students_groups.SemesterID = disciplines.SemesterID AND students_groups.StudentID = logs_binds_students.StudentID SET logs_binds_students.RecordBookID = students_groups.RecordBookID; ALTER TABLE `logs_binds_students` DROP FOREIGN KEY `logs_binds_students_ibfk_3`, DROP INDEX `StudentID`, DROP COLUMN `StudentID`; ALTER TABLE `logs_binds_students` ADD CONSTRAINT `logs_binds_students_ibfk_3` FOREIGN KEY (`RecordBookID`) REFERENCES `record_books` (`ID`); # # SELECT rating_table.StudentID, # rating_table.RecordBookID, # rating_table.TeacherID, # rating_table.SubmoduleID, # record_books.ID # FROM rating_table # LEFT JOIN record_books on rating_table.RecordBookID = record_books.ID # Where record_books.ID IS NULL; # # SELECT rating_table.StudentID, record_books.ID FROM rating_table # INNER JOIN submodules on submodules.ID = rating_table.SubmoduleID # INNER JOIN modules on modules.ID = submodules.ModuleID # INNER JOIN disciplines on disciplines.ID = modules.DisciplineID # INNER JOIN students_groups on students_groups.SemesterID = disciplines.SemesterID # AND students_groups.StudentID = rating_table.StudentID # INNER JOIN study_groups on study_groups.ID = students_groups.GroupID # INNER JOIN grades on grades.ID = study_groups.GradeID # INNER JOIN record_books on # record_books.Degree = grades.Degree and # record_books.StudentID = rating_table.StudentID # WHERE record_books.ID IS NULL; # # SELECT * FROM record_books WHERE record_books.StudentID = 182; # # SELECT * FROM view_students WHERE view_students.StudentID = 182; UNLOCK TABLES;