SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
DROP TABLE IF EXISTS `Справка+`; CREATE TABLE `Справка+` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,`Слк` CHAR (4) NOT NULL , `Код` CHAR (4) NOT NULL , `Название` VARCHAR (100) NOT NULL , CONSTRAINT `УН\СПР` UNIQUE KEY (`Слк`, `Код`)); INSERT INTO `Справка+` VALUES (DEFAULT, "ДОЛ", "101", "Должность руководителя"), (DEFAULT, "ДОЛ", "102", "Должность преподавателя"), (DEFAULT, "ФАК", "2", "Факультет информатики и робототехники"), (DEFAULT, "ДИС", "302", "Базы данных"), (DEFAULT, "НАПР", "401", "Направление"); SELECT "`Справка+` Table Content:" FROM `Справка+` WHERE 1 = 0; SELECT * FROM `Справка+`; DROP TABLE IF EXISTS `Кафедра\ФАК`; CREATE TABLE `Кафедра\ФАК` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Код` CHAR (10) NOT NULL, `Название` VARCHAR (50) NOT NULL, CONSTRAINT `УН\КАФ` UNIQUE KEY (`Код`, `Ид\КАФ^СПР`), `Ид\КАФ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Кафедра\ФАК` SET `Ид` = DEFAULT, `Код` = "001-К", `Название` = "АСУ", `Ид\КАФ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ФАК"); SELECT "`Кафедра\ФАК` Table Content:" FROM `Кафедра\ФАК` WHERE 1 = 0; SELECT * FROM `Кафедра\ФАК`; DROP TABLE IF EXISTS `Сотрудник%ПЕРС`; CREATE TABLE `Сотрудник%ПЕРС` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Код` CHAR (10) NOT NULL UNIQUE , `Паспорт` CHAR (10) NOT NULL UNIQUE , `ФИО` VARCHAR (50) NOT NULL , `Ид\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "001-ПРЕ", `Паспорт` = "567976", `ФИО` = "Александров Б. К.", `Ид\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "102"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "001-РУК", `Паспорт` = "875426", `ФИО` = "Харитонов С. С.", `Ид\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "101"); SELECT "`Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1 = 0; SELECT * FROM `Сотрудник%ПЕРС`; DROP TABLE IF EXISTS `Преподаватель: СОТ`; CREATE TABLE `Преподаватель: СОТ` (`Ид\ПРЕ^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`), `Ид\ПРЕ^КАФ` INT NOT NULL REFERENCES `Кафедра\ФАК` (`Ид`)); INSERT INTO `Преподаватель: СОТ` SET `Ид\ПРЕ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-ПРЕ"), `Ид\ПРЕ^КАФ` = (SELECT `Ид` FROM `Кафедра\ФАК` WHERE `Код` = "001-К"); SELECT "`Преподаватель: СОТ` Table Content:" FROM `Преподаватель: СОТ` WHERE 1 = 0; SELECT * FROM `Преподаватель: СОТ`; DROP TABLE IF EXISTS `Руководитель: СОТ`; CREATE TABLE `Руководитель: СОТ` (`Ид\РУК^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)); INSERT INTO `Руководитель: СОТ` SET `Ид\РУК^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-РУК"); SELECT "`Руководитель: СОТ` Table Content:" FROM `Руководитель: СОТ` WHERE 1 = 0; SELECT * FROM `Руководитель: СОТ`; DROP TABLE IF EXISTS `Приказ`; CREATE TABLE `Приказ` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Регномер` CHAR (10) NOT NULL UNIQUE, `Дата приказа` VARCHAR (50) NOT NULL, `Ид\ПРИК^РУК` INT NOT NULL REFERENCES `Руководитель: СОТ` (`Ид\РУК^СОТ`)); INSERT INTO `Приказ` SET `Ид` = DEFAULT, `Регномер` = "34667-98", `Дата приказа` = "02.12.2023", `Ид\ПРИК^РУК` = (SELECT * FROM `Руководитель: СОТ` WHERE 1); SELECT "`Приказ` Table Content:" FROM `Приказ` WHERE 1 = 0; SELECT * FROM `Приказ`; DROP TABLE IF EXISTS `Кампания`; CREATE TABLE `Кампания` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Год` CHAR (10) NOT NULL UNIQUE KEY, `Сроки` VARCHAR (50) NOT NULL); INSERT INTO `Кампания` VALUES (DEFAULT, "2023", "31.12.2023"); SELECT "`Кампания` Table Content:" FROM `Кампания` WHERE 1 = 0; SELECT * FROM `Кампания`; DROP TABLE IF EXISTS `Экзаменационная комиссия`; CREATE TABLE `Экзаменационная комиссия` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Регномер` CHAR (10) NOT NULL UNIQUE KEY, `Ид\КОМ^ПРИК` INT NOT NULL REFERENCES `Приказ` (`Ид`), `Ид\КОМ^КАМП` INT NOT NULL REFERENCES `Кампания` (`Ид`), `Ид\КОМ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Экзаменационная комиссия` SET `Ид` = DEFAULT, `Регномер` = "74729-09", `Ид\КОМ^ПРИК` = (SELECT `Ид` FROM `Приказ` WHERE `Регномер` = "34667-98"), `Ид\КОМ^КАМП` = (SELECT `Ид` FROM `Кампания` WHERE `Год` = "2023"), `Ид\КОМ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДИС" AND `Код` = "302"); SELECT "`Экзаменационная комиссия` Table Content:" FROM `Экзаменационная комиссия` WHERE 1 = 0; SELECT * FROM `Экзаменационная комиссия`; DROP TABLE IF EXISTS `Состав: КОМ*ПРЕ`; CREATE TABLE `Состав: КОМ*ПРЕ` (`Нпп` CHAR (100) NOT NULL , `Роль` CHAR (100) NOT NULL , CONSTRAINT `ПК\СОСТ` PRIMARY KEY (`Ид\СОСТ^КОМ`, `Ид\СОСТ^ПРЕ`) , `Ид\СОСТ^КОМ` INT NOT NULL REFERENCES `Экзаменационная комиссия` (`Ид`) , `Ид\СОСТ^ПРЕ` INT NOT NULL REFERENCES `Преподаватель: СОТ` (`Ид\ПРЕ^СОТ`)); INSERT INTO `Состав: КОМ*ПРЕ` SET `Нпп` = "1", `Роль` = "Роль", `Ид\СОСТ^КОМ` = (SELECT `Ид` FROM `Экзаменационная комиссия` WHERE `Регномер` = "74729-09"), `Ид\СОСТ^ПРЕ` = (SELECT `Ид\ПРЕ^СОТ` FROM `Преподаватель: СОТ` WHERE 1); SELECT "`Состав: КОМ*ПРЕ` Table Content:" FROM `Состав: КОМ*ПРЕ` WHERE 1 = 0; SELECT * FROM `Состав: КОМ*ПРЕ`; DROP TABLE IF EXISTS `Специальность\НАПР`; CREATE TABLE `Специальность\НАПР` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Код` CHAR (10) NOT NULL, `Название` CHAR (100) NOT NULL, `Сведения` CHAR (100) NOT NULL, CONSTRAINT `УН\СПЕ` UNIQUE KEY (`Ид\СПЕ^СПР`, `Код`), `Ид\СПЕ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Специальность\НАПР` SET `Ид` = DEFAULT, `Код` = "123", `Название` = "Специальность 1", `Сведения` = "Сведения", `Ид\СПЕ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "НАПР" AND `Код` = "401"); INSERT INTO `Специальность\НАПР` SET `Ид` = DEFAULT, `Код` = "234", `Название` = "Специальность 2 вузовская", `Сведения` = "Сведения", `Ид\СПЕ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "НАПР" AND `Код` = "401"); SELECT "`Специальность\НАПР` Table Content:" FROM `Специальность\НАПР` WHERE 1 = 0; SELECT * FROM `Специальность\НАПР`; DROP TABLE IF EXISTS `Абитуриент`; CREATE TABLE `Абитуриент` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Регномер` CHAR (10) NOT NULL UNIQUE KEY, `Дата подачи` VARCHAR (50) NOT NULL, `Сведения абитуриента` CHAR (10) NOT NULL, `Ид\АБИТ^СПЕ` INT NOT NULL REFERENCES `Специальность\НАПР` (`Ид`), `Ид\АБИТ^КАМП` INT NOT NULL REFERENCES `Кампания` (`Ид`)); INSERT INTO `Абитуриент` SET `Ид` = DEFAULT, `Регномер` = "56959-80", `Дата подачи` = "10.09.2023", `Сведения абитуриента` = "Сведения", `Ид\АБИТ^СПЕ` = (SELECT `Ид` FROM `Специальность\НАПР` WHERE `Код` = "123"), `Ид\АБИТ^КАМП` = (SELECT `Ид` FROM `Кампания` WHERE 1); INSERT INTO `Абитуриент` SET `Ид` = DEFAULT, `Регномер` = "34567-80", `Дата подачи` = "10.09.2023", `Сведения абитуриента` = "Сведения", `Ид\АБИТ^СПЕ` = (SELECT `Ид` FROM `Специальность\НАПР` WHERE `Код` = "234"), `Ид\АБИТ^КАМП` = (SELECT `Ид` FROM `Кампания` WHERE 1); SELECT "`Абитуриент` Table Content:" FROM `Абитуриент` WHERE 1 = 0; SELECT * FROM `Абитуриент`; DROP TABLE IF EXISTS `Заседание приемной комиссии`; CREATE TABLE `Заседание приемной комиссии` (`Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `Регномер заседания` CHAR (10) NOT NULL UNIQUE KEY, `Дата заседания` VARCHAR (50) NOT NULL, `Ид\ЗАС^КАМП` INT NOT NULL REFERENCES `Кампания` (`Ид`)); INSERT INTO `Заседание приемной комиссии` SET `Ид` = DEFAULT, `Регномер заседания` = "34628-73", `Дата заседания` = "20.09.2023", `Ид\ЗАС^КАМП` = (SELECT `Ид` FROM `Кампания` WHERE 1); SELECT "`Заседание приемной комиссии` Table Content:" FROM `Заседание приемной комиссии` WHERE 1 = 0; SELECT * FROM `Заседание приемной комиссии`; DROP TABLE IF EXISTS `Решение по абитуриенту: ЗАС*АБИТ`; CREATE TABLE `Решение по абитуриенту: ЗАС*АБИТ` (`Решение` CHAR (10) NOT NULL, CONSTRAINT `ПК\РЕШ` PRIMARY KEY (`Ид\РЕШ^ЗАС`, `Ид\РЕШ^АБИТ`), `Ид\РЕШ^ЗАС` INT NOT NULL REFERENCES `Заседание приемной комиссии` (`Ид`), `Ид\РЕШ^АБИТ` INT NOT NULL REFERENCES `Абитуриент` (`Ид`), `Ид\РЕШ^ПРИК` INT NOT NULL REFERENCES `Приказ` (`Ид`)); INSERT INTO `Решение по абитуриенту: ЗАС*АБИТ` SET `Решение` = "Зачислен", `Ид\РЕШ^ЗАС` = (SELECT `Ид` FROM `Заседание приемной комиссии` WHERE `Регномер заседания` = "34628-73"), `Ид\РЕШ^АБИТ` = (SELECT `Ид` FROM `Абитуриент` WHERE `Регномер` = "56959-80"), `Ид\РЕШ^ПРИК` = (SELECT `Ид` FROM `Приказ` WHERE `Регномер` = "34667-98"); SELECT "`Решение по абитуриенту: ЗАС*АБИТ` Table Content:" FROM `Решение по абитуриенту: ЗАС*АБИТ` WHERE 1 = 0; SELECT * FROM `Решение по абитуриенту: ЗАС*АБИТ`; DROP TABLE IF EXISTS `Экзамен: АБИТ*КОМ`; CREATE TABLE `Экзамен: АБИТ*КОМ` (`Нпп` CHAR (10) NOT NULL, `Дата` CHAR (100) NOT NULL, `Оценка` CHAR (10) NOT NULL, CONSTRAINT `ПК\ЭКЗ` PRIMARY KEY (`Ид\ЭКЗ^КОМ`, `Ид\ЭКЗ^АБИТ`), `Ид\ЭКЗ^КОМ` INT NOT NULL REFERENCES `Экзаменационная комиссия` (`Ид`), `Ид\ЭКЗ^АБИТ` INT NOT NULL REFERENCES `Абитуриент` (`Ид`), `Ид\ЭКЗ^СПЕ` INT NOT NULL REFERENCES `Специальность\НАПР` (`Ид`)); INSERT INTO `Экзамен: АБИТ*КОМ` SET `Нпп` = "1", `Дата` = "12.09.2023", `Оценка` = "5", `Ид\ЭКЗ^КОМ` = (SELECT `Ид` FROM `Экзаменационная комиссия` WHERE `Регномер` = "74729-09"), `Ид\ЭКЗ^АБИТ` = (SELECT `Ид` FROM `Абитуриент` WHERE `Регномер` = "56959-80"), `Ид\ЭКЗ^СПЕ` = (SELECT `Ид` FROM `Специальность\НАПР` WHERE `Код` = "123"); SELECT "`Экзамен: АБИТ*КОМ` Table Content:" FROM `Экзамен: АБИТ*КОМ` WHERE 1 = 0; SELECT * FROM `Экзамен: АБИТ*КОМ`; DROP VIEW IF EXISTS `вирт_Заседание приемной комиссии`; CREATE VIEW `вирт_Заседание приемной комиссии` AS SELECT `ЗАС`.`Регномер заседания` AS `Регномер заседания`, `ЗАС`.`Дата заседания` AS `Дата заседания`, `КАМП`.`Год` AS `Год кампании`, `КАМП`.`Сроки` AS `Сроки кампании`, `ЗАС`.`Ид` AS `Ид\Заседание приемной комиссии` FROM `Заседание приемной комиссии` AS `ЗАС` LEFT JOIN `Кампания` AS `КАМП` ON `ЗАС`.`Ид\ЗАС^КАМП` = `КАМП`.`Ид` ; SELECT * FROM `вирт_Заседание приемной комиссии`; DROP PROCEDURE IF EXISTS `проц_Решение по абитуриенту`; CREATE PROCEDURE `проц_Решение по абитуриенту` (IN `@Ид\Заседание приемной комиссии` INT) SELECT `РЕШ`.`Решение` AS `Решение`, `ПРИК`.`Регномер` AS `Регномер приказа`, `ПРИК`.`Дата приказа` AS `Дата приказа`, `СОТ`.`Код` AS `Код руководителя`, `СОТ`.`ФИО` AS `ФИО руководителя`, `СПР`.`Код` AS `Код должности`, `СПР`.`Название` AS `Название должности` FROM `Решение по абитуриенту: ЗАС*АБИТ` AS `РЕШ` LEFT JOIN `Приказ` AS `ПРИК` ON `РЕШ`.`Ид\РЕШ^ПРИК` = `ПРИК`.`Ид` LEFT JOIN `Руководитель: СОТ` AS `РУК` ON `ПРИК`.`Ид\ПРИК^РУК` = ``.`Ид\РУК^СОТ` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `РУК`.`Ид\РУК^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР` ON `СОТ`.`Ид\СОТ^СПР` = `СПР`.`Ид` WHERE `РЕШ`.`Ид\РЕШ^ЗАС` = `@Ид\Заседание приемной комиссии` ; CALL `проц_Решение по абитуриенту` (1); DROP VIEW IF EXISTS `вирт_Экзамен%Абитуриент`; CREATE VIEW `вирт_Экзамен%Абитуриент` AS SELECT `ЭКЗ`.`Нпп` AS `Нпп экзамена`, `ЭКЗ`.`Дата` AS `Дата экзамена`, `ЭКЗ`.`Оценка` AS `Оценка`, `КОМ`.`Регномер` AS `Регномер комиссии`, `ПРИК`.`Дата приказа` AS `Дата приказа`, `АБИТ`.`Регномер` AS `Регномер заявления`, `АБИТ`.`Дата подачи` AS `Дата подачи заявления`, `АБИТ`.`Сведения абитуриента` AS `Сведения абитуриента`, `СПЕ`.`Код` AS `Код специальности`, `СПЕ`.`Название` AS `Название специальности`, `СПР`.`Код` AS `Код направления`, `СПР`.`Название` AS `Название направления` FROM `Экзамен: АБИТ*КОМ` AS `ЭКЗ` LEFT JOIN `Экзаменационная комиссия` AS `КОМ` ON `ЭКЗ`.`Ид\ЭКЗ^КОМ` = `КОМ`.`Ид` LEFT JOIN `Приказ` AS `ПРИК` ON `КОМ`.`Ид\КОМ^ПРИК` = `ПРИК`.`Ид` LEFT JOIN `Абитуриент` AS `АБИТ` ON `ЭКЗ`.`Ид\ЭКЗ^АБИТ` = `АБИТ`.`Ид` LEFT JOIN `Специальность\НАПР` AS `СПЕ` ON `АБИТ`.`Ид\АБИТ^СПЕ` = `СПЕ`.`Ид` LEFT JOIN `Справка+` AS `СПР` ON `СПЕ`.`Ид\СПЕ^СПР` = `СПР`.`Ид` ; SELECT * FROM `вирт_Экзамен%Абитуриент`; DROP VIEW IF EXISTS `вирт_Заседание приемной комиссии_решения`; CREATE VIEW `вирт_Заседание приемной комиссии_решения` AS WITH `ЧРЕШ` AS ( SELECT `РЕШ`.`Ид\РЕШ^ЗАС` AS `Ид_РЕШ`, COUNT(*) AS `Кол_РЕШ` FROM `Решение по абитуриенту: ЗАС*АБИТ` AS `РЕШ` GROUP BY `Ид\РЕШ^ЗАС`) SELECT `ЗАС`.`Регномер заседания` AS `Регномер заседания`, `ЗАС`.`Дата заседания` AS `Дата заседания`, `КАМП`.`Год` AS `Год кампании`, `КАМП`.`Сроки` AS `Сроки кампании`, COUNT(*) AS `Количество решений` FROM `Решение по абитуриенту: ЗАС*АБИТ` AS `РЕШ` LEFT JOIN `Заседание приемной комиссии` AS `ЗАС` ON `РЕШ`.`Ид\РЕШ^ЗАС` = `ЗАС`.`Ид` LEFT JOIN `Кампания` AS `КАМП` ON `ЗАС`.`Ид\ЗАС^КАМП` = `КАМП`.`Ид` GROUP BY `РЕШ`.`Ид\РЕШ^ЗАС`; SELECT * FROM `вирт_Заседание приемной комиссии_решения`; DROP VIEW IF EXISTS `вирт_Заседание приемной комиссии_зачисленные`; CREATE VIEW `вирт_Заседание приемной комиссии_зачисленные` AS WITH `ЧЗАЧ` AS ( SELECT `РЕШ`.`Ид\РЕШ^ЗАС` AS `Ид_РЕШ`, COUNT(*) AS `Кол_ЗАЧ` FROM `Решение по абитуриенту: ЗАС*АБИТ` AS `РЕШ` GROUP BY `Ид\РЕШ^ЗАС`) SELECT `ЗАС`.`Регномер заседания` AS `Регномер заседания`, `ЗАС`.`Дата заседания` AS `Дата заседания`, `КАМП`.`Год` AS `Год кампании`, `КАМП`.`Сроки` AS `Сроки кампании`, COUNT(*) AS `Число зачисленных` FROM `Решение по абитуриенту: ЗАС*АБИТ` AS `РЕШ` LEFT JOIN `Заседание приемной комиссии` AS `ЗАС` ON `РЕШ`.`Ид\РЕШ^ЗАС` = `ЗАС`.`Ид` LEFT JOIN `Кампания` AS `КАМП` ON `ЗАС`.`Ид\ЗАС^КАМП` = `КАМП`.`Ид` GROUP BY `РЕШ`.`Ид\РЕШ^ЗАС`; SELECT * FROM `вирт_Заседание приемной комиссии_зачисленные`;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear