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 (3) NOT NULL , `Сведения` VARCHAR (50) NOT NULL , `ФИО` VARCHAR (100) NOT NULL , `Паспорт` CHAR (10) NOT NULL UNIQUE , CONSTRAINT `Ун\СПР` UNIQUE (`Код`) ); INSERT INTO `Сотрудник%ПЕРС` VALUES (DEFAULT, "1", "001", "Иванов Иван Иванович", "123"), (DEFAULT, "2", "002", "Сидоров С. С.", "123456"), (DEFAULT, "3", "003", "Петров Д.В.", "789413") ; SELECT "Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1=0; SELECT * FROM `Сотрудник%ПЕРС`; DROP TABLE IF EXISTS `Справочник`; CREATE TABLE `Справочник` ( `Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `Слк` CHAR (3) NOT NULL , `Код` CHAR (3) NOT NULL , `Название` VARCHAR (50) NOT NULL , `Содержание` VARCHAR (100) NULL , CONSTRAINT `Ун\СПР` UNIQUE (`Слк`, `Код`) ); INSERT INTO `Справочник` VALUES (DEFAULT, "МЕС", "001", "Место", NULL), (DEFAULT, "ВМ", "002", "Вид мероприятия ", NULL), (DEFAULT, "ВР", "003", "Вид расхода", NULL), (DEFAULT, "ВВ", "004", "Вид выступления", NULL), (DEFAULT, "НОМ", "005", "Номинация", NULL), (DEFAULT, "НАГ", "006", "Награда", NULL), (DEFAULT, "ВП", "007", "Вид поступления", NULL) ; 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 (50) NOT NULL , `Дата проведения` VARCHAR (50) NOT NULL , `Ид1\СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Ид2\СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Ид1\СПР` INT NOT NULL REFERENCES `Справочник` (`Ид`) , `Ид2\СПР` INT NOT NULL REFERENCES `Справочник` (`Ид`) , CONSTRAINT `Ун\Мер` UNIQUE (`Регномер`) ); INSERT INTO `Мероприятие` VALUES (DEFAULT, "001", "День знаний", "01.09.2022",(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "3"),(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "2"), (SELECT `Ид` FROM `Справочник` WHERE `Слк` = "ВМ"),(SELECT `Ид` FROM `Справочник` WHERE `Слк` = "МЕС")), (DEFAULT, "002", "Посвящение", "01.09.2022", (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "3"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "2"), (SELECT `Ид` FROM `Справочник` WHERE `Слк` = "ВМ"), (SELECT `Ид` FROM `Справочник` WHERE `Слк` = "МЕС")), (DEFAULT, "099", "8 марта", "08.03.2022", (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "3"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "2"), (SELECT `Ид` FROM `Справочник` WHERE `Слк` = "ВМ"), (SELECT `Ид` FROM `Справочник` WHERE `Слк` = "МЕС")); SELECT "`Мероприятие` Table Content:" FROM `Мероприятие` WHERE 1=0; SELECT * FROM `Мероприятие`; DROP TABLE IF EXISTS `Ведение: МЕР*СОТ`; CREATE TABLE `Ведение: МЕР*СОТ` (`Ид\МЕР` INT NOT NULL REFERENCES `Мероприятие` (`Ид`) , `Ид\СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Роль ведущего` CHAR (3) NOT NULL , CONSTRAINT `Ун\ВНМ` UNIQUE (`Ид\МЕР`, `Ид\СОТ`) ); INSERT INTO `Ведение: МЕР*СОТ` VALUES ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "001"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "да"), ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "002"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "да"), ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "099"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "да"); SELECT "`Ведение: МЕР*СОТ` Table Content:" FROM `Ведение: МЕР*СОТ` WHERE 1=0; SELECT * FROM `Ведение: МЕР*СОТ`; DROP TABLE IF EXISTS `Оценивание: МЕР*СОТ`; CREATE TABLE `Оценивание: МЕР*СОТ` ( `Ид\МЕР` INT NOT NULL REFERENCES `Мероприятие` (`Ид`) , `Ид\СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Роль члена комиссии` CHAR (3) NOT NULL , CONSTRAINT `Ун\ЧКК` UNIQUE (`Ид\МЕР`, `Ид\СОТ`) ); INSERT INTO `Оценивание: МЕР*СОТ` VALUES ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "001"),(SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "да"), ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "002"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "нет"), ((SELECT `Ид` FROM `Мероприятие` WHERE `Регномер` = "099"), (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "1"), "да"); SELECT "`Оценивание: МЕР*СОТ` Table Content:" FROM `Оценивание: МЕР*СОТ` WHERE 1=0; SELECT * FROM `Оценивание: МЕР*СОТ`; DROP VIEW IF EXISTS `вирт_Мероприятие_Ведущий`; CREATE VIEW `вирт_Мероприятие_Ведущий` AS SELECT `СОТ`.`Код` AS `Код ведущего`, `СОТ`.`ФИО` AS `ФИО ведущего`, `ВЕД`.`Роль ведущего` AS `Роль ведущего`, COUNT(*) AS `Число ведущих` FROM `Ведение: МЕР*СОТ` AS `ВЕД` INNER JOIN `Сотрудник%ПЕРС` AS `СОТ`ON `ВЕД`.`Ид\СОТ` = `СОТ`.`Ид` INNER JOIN `Мероприятие` AS `МЕР` ON `ВЕД`.`Ид\МЕР` = `МЕР`.`Ид` WHERE `ВЕД`.`Роль ведущего` = "да" GROUP BY `СОТ`.`Код`; SELECT * FROM `вирт_Мероприятие_Ведущий`; DROP VIEW IF EXISTS `вирт_Мероприятие_Член_комиссии`; CREATE VIEW `вирт_Мероприятие_Член_комиссии` AS SELECT `СОТ`.`Код` AS `Код члена комиссии`, `СОТ`.`ФИО` AS `ФИО члена комиссии`, `ОЦЕ`.`Роль члена комиссии` AS `Роль члена комиссии`, COUNT(*) AS `Число членов комиссии` FROM `Оценивание: МЕР*СОТ` AS `ОЦЕ` INNER JOIN `Мероприятие` AS `МЕР` ON `ОЦЕ`.`Ид\МЕР` = `МЕР`.`Ид` INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ОЦЕ`.`Ид\СОТ` = `СОТ`.`Ид` WHERE `ОЦЕ`.`Роль члена комиссии` = "да" GROUP BY `СОТ`.`Код`; SELECT * FROM `вирт_Мероприятие_Член_комиссии`; DROP VIEW IF EXISTS `вирт_Мероприятие`; CREATE VIEW `вирт_Мероприятие` AS WITH `ЧЭКС` AS ( SELECT `ОЦЕ`.`Ид\СОТ` AS `Ид`, COUNT(*) AS `Кол_ЭКС` FROM `Оценивание: МЕР*СОТ` AS `ОЦЕ` WHERE `ОЦЕ`.`Роль члена комиссии` = "да" GROUP BY `Ид` ), `ЧВЕД` AS ( SELECT `ВЕД`.`Ид\СОТ` AS `Ид`, COUNT(*) AS `Кол_ВЕД` FROM `Ведение: МЕР*СОТ` AS `ВЕД` WHERE `ВЕД`.`Роль ведущего` = "да" GROUP BY `Ид` ) SELECT `МЕР`.`Регномер` AS `Регномер мероприятия`, `МЕР`.`Название` AS `Название мероприятия`, `СОТ`.`Код` AS `Код члена комиссии`, `СОТ`.`ФИО` AS `ФИО члена комиссии`, `СОТ`.`Код` AS `Код ведущего`, `СОТ`.`ФИО` AS `ФИО ведущего` /* `ЧЭКС`.`Кол_ЭКС` AS `Число членов комиссии`, `ЧВЕД`.`Кол_ВЕД` AS `Число ведущих`*/ FROM `Мероприятие` AS `МЕР` INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `МЕР`.`Ид1\СОТ` = `СОТ`.`Ид` /* INNER JOIN `Сотрудник%ПЕРС` AS `СОТ2` ON `МЕР`.`Ид2\СОТ` = `СОТ2`.`Ид` /* INNER JOIN `ЧЭКС` ON `ЧЭКС`.`Ид` = `МЕР`.`Ид1\СОТ` INNER JOIN `ЧВЕД` ON `ЧВЕД`.`Ид` = `МЕР`.`Ид2\СОТ` GROUP BY `МЕР`.`Регномер`*/ ; SELECT * FROM `вирт_Мероприятие`;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear