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 (50) NOT NULL , CONSTRAINT `УН\СПР` UNIQUE KEY (`Слк`, `Код`)); INSERT INTO `Справка+` VALUES (DEFAULT, "ДОЛ", "СПЕ", "Должность специалиста"), (DEFAULT, "ДОЛ", "РУК", "Должность руководителя"), (DEFAULT, "ДОП", "ДОП", "Допуск"), (DEFAULT, "ФОР", "ФОР", "Форма допуска"), (DEFAULT, "ВИДО", "ВИДО", "Вид документа"); 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 , `Паспорт` CHAR (10) NOT NULL UNIQUE , `ФИО` VARCHAR (50) NOT NULL , `Ид_ДОЛ\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`) , `Ид_ДОП\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "001-РУК", `Паспорт` = "547489", `ФИО` = "Котов К. В.", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "РУК"), `Ид_ДОП\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОП" AND `Код` = "ДОП"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "001-СПЕ", `Паспорт` = "694930", `ФИО` = "Третьяков А. К.", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "СПЕ"), `Ид_ДОП\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОП" AND `Код` = "ДОП"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "002-СПЕ", `Паспорт` = "876543", `ФИО` = "Демьянова В. В.", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "СПЕ"), `Ид_ДОП\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОП" AND `Код` = "ДОП"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = DEFAULT, `Код` = "003-СПЕ", `Паспорт` = "234589", `ФИО` = "Никитина Н. М.", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "СПЕ"), `Ид_ДОП\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОП" AND `Код` = "ДОП"); 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 PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)); INSERT INTO `Специалист: СОТ` SET `Ид\СПЕ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-СПЕ"); INSERT INTO `Специалист: СОТ` SET `Ид\СПЕ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-СПЕ"); INSERT INTO `Специалист: СОТ` SET `Ид\СПЕ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-СПЕ"); 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 , `Паспорт` CHAR (10) NOT NULL UNIQUE , `ФИО` VARCHAR (50) NOT NULL); INSERT INTO `Представитель%ПЕРС` VALUES (DEFAULT, "001-ПРЕ", "866790", "Самойлова О. В."), (DEFAULT, "002-ПРЕ", "123467", "Ковалев А. К."); 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 , `Дата` CHAR (10) NOT NULL); INSERT INTO `Разрешение` VALUES (DEFAULT, "123-1", "12.09.2023"), (DEFAULT, "123-2", "22.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 , `Дата` CHAR (10) NOT NULL , `Ид\ПРИК^РУК` INT NOT NULL REFERENCES `Руководитель: СОТ` (`Ид\РУК^СОТ`)); INSERT INTO `Приказ` SET `Ид` = DEFAULT, `Регномер` = "143-1", `Дата` = "15.09.2023", `Ид\ПРИК^РУК` = (SELECT * FROM `Руководитель: СОТ` WHERE 1); INSERT INTO `Приказ` SET `Ид` = DEFAULT, `Регномер` = "112-2", `Дата` = "26.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 , `Основание для присвоения` CHAR (150) NOT NULL , `Основание для снятия` CHAR (150) NULL , CONSTRAINT `УН\ДОП` UNIQUE KEY (`НПП`, `Ид\ДОП^СОТ`) , `Ид\ДОП^СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`), `Ид\ДОП^ПРИК` INT NOT NULL REFERENCES `Приказ` (`Ид`), `Ид\ДОП^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`), `Ид\ДОП^СПЕЦ` INT NOT NULL REFERENCES `Специалист: СОТ` (`Ид\СПЕ^СОТ`), `Ид\ДОП^РАЗ` INT NOT NULL REFERENCES `Разрешение` (`Ид`)); INSERT INTO `Допуск сотрудника\СОТ` SET `Ид` = DEFAULT, `НПП` = "1", `Ид\ДОП^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-РУК"), `Основание для присвоения` = "Направление в другие организации для выполнения работ с использованием сведений, составляющих тайну", `Основание для снятия` = NULL, `Ид\ДОП^ПРИК` = (SELECT `Ид` FROM `Приказ` WHERE `Регномер` = "143-1"), `Ид\ДОП^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ФОР" AND `Код` = "ФОР"), `Ид\ДОП^СПЕЦ` = (SELECT `Ид\СПЕ^СОТ` FROM `Специалист: СОТ` WHERE `Ид\СПЕ^СОТ` = 2), `Ид\ДОП^РАЗ` = (SELECT `Ид` FROM `Разрешение` WHERE `Регномер` = "123-1"); INSERT INTO `Допуск сотрудника\СОТ` SET `Ид` = DEFAULT, `НПП` = "2", `Ид\ДОП^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-РУК"), `Основание для присвоения` = "Направление в другие организации для выполнения работ с использованием сведений, составляющих тайну", `Основание для снятия` = "Истечение срока действия", `Ид\ДОП^ПРИК` = (SELECT `Ид` FROM `Приказ` WHERE `Регномер` = "112-2"), `Ид\ДОП^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ФОР" AND `Код` = "ФОР"), `Ид\ДОП^СПЕЦ` = (SELECT `Ид\СПЕ^СОТ` FROM `Специалист: СОТ` WHERE `Ид\СПЕ^СОТ` = 2), `Ид\ДОП^РАЗ` = (SELECT `Ид` FROM `Разрешение` WHERE `Регномер` = "123-2"); 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 , `Дата` CHAR (10) NOT NULL , `Ид\ЗАПР^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`)); INSERT INTO `Запрос на получение допуска` SET `Ид` = DEFAULT, `Регномер` = "234-1", `Дата` = "12.09.2023", `Ид\ЗАПР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ФОР" AND `Код` = "ФОР"); INSERT INTO `Запрос на получение допуска` SET `Ид` = DEFAULT, `Регномер` = "235-2", `Дата` = "13.12.2023", `Ид\ЗАПР^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ФОР" AND `Код` = "ФОР"); 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, `Название` CHAR (10) NOT NULL, `Код грифа секретности` CHAR (10) NOT NULL, `Ид\ДОК^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`), `Ид\ДОК^СПЕЦ` INT NOT NULL REFERENCES `Специалист: СОТ` (`Ид\СПЕ^СОТ`)); INSERT INTO `Документ` SET `Ид` = DEFAULT, `Регномер` = "15-12", `Название` = "Документ 1", `Код грифа секретности` = "001", `Ид\ДОК^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИДО" AND `Код` = "ВИДО"), `Ид\ДОК^СПЕЦ` = (SELECT `Ид\СПЕ^СОТ` FROM `Специалист: СОТ` WHERE `Ид\СПЕ^СОТ` = 3); INSERT INTO `Документ` SET `Ид` = DEFAULT, `Регномер` = "15-13", `Название` = "Документ 2", `Код грифа секретности` = "002", `Ид\ДОК^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИДО" AND `Код` = "ВИДО"), `Ид\ДОК^СПЕЦ` = (SELECT `Ид\СПЕ^СОТ` FROM `Специалист: СОТ` WHERE `Ид\СПЕ^СОТ` = 3); SELECT "`Документ` Table Content:" FROM `Документ` WHERE 1 = 0; SELECT * FROM `Документ`; DROP TABLE IF EXISTS `Сотрудник в запросе: СОТ*ЗАПР`; CREATE TABLE `Сотрудник в запросе: СОТ*ЗАПР` (`НПП` CHAR (10) NOT NULL , `Основание для присвоения` CHAR (150) NOT NULL , CONSTRAINT `ПК\СОТЗ` PRIMARY KEY (`Ид\СОТЗ^СОТ`, `Ид\СОТЗ^ЗАПР`) , `Ид\СОТЗ^СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`), `Ид\СОТЗ^ЗАПР` INT NOT NULL REFERENCES `Запрос на получение допуска` (`Ид`), `Ид\СОТЗ^РАЗ` INT NOT NULL REFERENCES `Разрешение` (`Ид`), `Ид\СОТЗ^СПЕЦ` INT NOT NULL REFERENCES `Специалист: СОТ` (`Ид\СПЕ^СОТ`), `Ид\СОТЗ^ПРЕД` INT NOT NULL REFERENCES `Представитель%ПЕРС` (`Ид`)); INSERT INTO `Сотрудник в запросе: СОТ*ЗАПР` SET `НПП` = "1", `Основание для присвоения` = "Основание", `Ид\СОТЗ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-РУК"), `Ид\СОТЗ^ЗАПР` = (SELECT `Ид` FROM `Запрос на получение допуска` WHERE `Регномер` = "235-2"), `Ид\СОТЗ^РАЗ` = (SELECT `Ид` FROM `Разрешение` WHERE `Регномер` = "123-1"), `Ид\СОТЗ^СПЕЦ` = (SELECT `Ид\СПЕ^СОТ` FROM `Специалист: СОТ` WHERE `Ид\СПЕ^СОТ` = 2), `Ид\СОТЗ^ПРЕД` = (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 KEY, `Дата` CHAR (10) NOT NULL, `Ид\ДОКД^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`), `Ид\ДОКД^СОТЗ` INT NOT NULL REFERENCES `Сотрудник в запросе: СОТ*ЗАПР` (`Ид\СОТЗ^СОТ`), `Ид\ДОКД^ДОП` INT NOT NULL REFERENCES `Допуск сотрудника\СОТ` (`Ид`)); INSERT INTO `Документ к допуску` SET `Ид` = DEFAULT, `Рег. номер` = "123", `Дата` = "23.09.2023", `Ид\ДОКД^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИДО" AND `Код` = "ВИДО"), `Ид\ДОКД^СОТЗ` = (SELECT `Ид\СОТЗ^СОТ` FROM `Сотрудник в запросе: СОТ*ЗАПР` WHERE `Ид\СОТЗ^СОТ` = 1), `Ид\ДОКД^ДОП` = (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, `Дата/время составления отчета` CHAR (100) NOT NULL, `Ид\СОТД^СОТ` INT NOT NULL REFERENCES `Сотрудник%ПЕРС` (`Ид`), `Ид\СОТД^РУК` INT NOT NULL REFERENCES `Руководитель: СОТ` (`Ид\РУК^СОТ`)); INSERT INTO `Сотрудник с допуском` SET `Ид` = DEFAULT, `Рег. номер отчета` = "46537-2", `Дата/время составления отчета` = "23.09.2023 14:30", `Ид\СОТД^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-СПЕ"), `Ид\СОТД^РУК` = (SELECT * FROM `Руководитель: СОТ` WHERE 1); INSERT INTO `Сотрудник с допуском` SET `Ид` = DEFAULT, `Рег. номер отчета` = "46542-1", `Дата/время составления отчета` = "27.12.2023 15:47", `Ид\СОТД^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-СПЕ"), `Ид\СОТД^РУК` = (SELECT * FROM `Руководитель: СОТ` WHERE 1); SELECT "`Сотрудник с допуском` Table Content:" FROM `Сотрудник с допуском` WHERE 1 = 0; SELECT * FROM `Сотрудник с допуском`; DROP TABLE IF EXISTS `Доступ к документу: СОТД*ДОК`; CREATE TABLE `Доступ к документу: СОТД*ДОК` (`Основание для выдачи` CHAR (150) NOT NULL , `Дата/время выдачи` CHAR (150) NULL , `Дата/время возврата` CHAR (10) NOT NULL , CONSTRAINT `ПК\ДОСТ` PRIMARY KEY (`Ид\ДОСТ^СОТД`, `Ид\ДОСТ^ДОК`) , `Ид\ДОСТ^СОТД` INT NOT NULL REFERENCES `Сотрудник с допуском` (`Ид`), `Ид\ДОСТ^ДОК` INT NOT NULL REFERENCES `Документ` (`Ид`)); INSERT INTO `Доступ к документу: СОТД*ДОК` SET `Основание для выдачи` = "Основание", `Дата/время выдачи` = "13.09.2023", `Дата/время возврата` = "20.09.2023", `Ид\ДОСТ^СОТД` = (SELECT `Ид` FROM `Сотрудник с допуском` WHERE `Рег. номер отчета` = "46537-2"), `Ид\ДОСТ^ДОК` = (SELECT `Ид` FROM `Документ` WHERE `Регномер` = "15-12"); 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 `Регномер приказа о присвоении`, `ПРИК`.`Дата` AS `Дата приказа о присвоении`, `ДОП`.`Основание для снятия` AS `Основание для снятия допуска`, `СОТ`.`Код` AS `Код руководителя`, `СОТ`.`ФИО` AS `ФИО руководителя`, `СПР1`.`Код` AS `Код должности руководителя`, `СПР1`.`Название` AS `Название должности руководителя` FROM `Допуск сотрудника\СОТ` AS `ДОП` LEFT JOIN `Разрешение` AS `РАЗ` ON `ДОП`.`Ид\ДОП^РАЗ` = `РАЗ`.`Ид` LEFT JOIN `Приказ` AS `ПРИК` ON `ДОП`.`Ид\ДОП^ПРИК` = `ПРИК`.`Ид` LEFT JOIN `Справка+` AS `СПР` ON `ДОП`.`Ид\ДОП^СПР` = `СПР`.`Ид` LEFT JOIN `Руководитель: СОТ` AS `РУК` ON `ПРИК`.`Ид\ПРИК^РУК` = `РУК`.`Ид\РУК^СОТ` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `РУК`.`Ид\РУК^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР1` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР1`.`Ид` WHERE `ДОП`.`Ид` = `@Ид\Сотрудник` ; CALL `проц_Допуск сотрудника` (1); DROP VIEW IF EXISTS `вирт_Сотрудник в запросе%Запрос на получение допуска`; CREATE VIEW `вирт_Сотрудник в запросе%Запрос на получение допуска` AS SELECT `СОТЗ`.`НПП` AS `НПП сотрудника`, `СОТ`.`Код` AS `Код сотрудника`, `СОТ`.`ФИО` AS `ФИО сотрудника`, `СПР2`.`Код` AS `Код должности сотрудника`, `СПР2`.`Название` AS `Название должности сотрудника`, `СОТЗ`.`Основание для присвоения` AS `Основание для присвоения допуска`, `СОТ1`.`Код` AS `Код ходатайствующего о присвоении`, `СОТ1`.`ФИО` AS `ФИО ходатайствующего о присвоении`, `СПР1`.`Код` AS `Код должности ходатайствующего`, `СПР1`.`Название` 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 `СОТЗ`.`Ид\СОТЗ^ПРЕД` = `ПРЕД`.`Ид` LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид` LEFT JOIN `Справка+` AS `СПР` ON `ЗАПР`.`Ид\ЗАПР^СПР` = `СПР`.`Ид` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ1` ON `СПЕЦ`.`Ид\СПЕ^СОТ` = `СОТ1`.`Ид` LEFT JOIN `Справка+` AS `СПР1` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР1`.`Ид` ; SELECT * FROM `вирт_Сотрудник в запросе%Запрос на получение допуска`; DROP VIEW IF EXISTS `вирт_Сотрудник с допуском_документы`; CREATE VIEW `вирт_Сотрудник с допуском_документы` AS WITH `ЧДО` AS ( SELECT `ДОСТ`.`Ид\ДОСТ^СОТД` AS `Ид_ДОК`, COUNT(*) AS `Кол_ДОК` FROM `Доступ к документу: СОТД*ДОК` AS `ДОСТ` GROUP BY `Ид\ДОСТ^СОТД`) SELECT `СОТД`.`Рег. номер отчета` AS `Рег. номер отчета`, `СОТД`.`Дата/время составления отчета` AS `Дата/время составления отчета`, `СОТ`.`Код` AS `Код сотрудника`, `СОТ`.`ФИО` AS `ФИО сотрудника`, `СПР2`.`Код` AS `Код должности сотрудника`, `СПР2`.`Название` AS `Название должности сотрудника`, `СПР3`.`Код` AS `Код допуска пользователя`, `СПР3`.`Название` AS `Название допуска пользователя`, `СОТ1`.`Код` AS `Код руководителя`, `СОТ1`.`ФИО` AS `ФИО руководителя`, `СПР1`.`Код` AS `Код должности руководителя`, `СПР1`.`Название` AS `Название должности руководителя`, COUNT(*) AS `Число документов` FROM `Доступ к документу: СОТД*ДОК` AS `ДОСТ` LEFT JOIN `Сотрудник с допуском` AS `СОТД` ON `ДОСТ`.`Ид\ДОСТ^СОТД` = `СОТД`.`Ид` LEFT JOIN `Руководитель: СОТ` AS `РУК` ON `СОТД`.`Ид\СОТД^РУК` = `РУК`.`Ид\РУК^СОТ` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ1` ON `РУК`.`Ид\РУК^СОТ` = `СОТ1`.`Ид` LEFT JOIN `Справка+` AS `СПР1` ON `СОТ1`.`Ид_ДОЛ\СОТ^СПР` = `СПР1`.`Ид` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `СОТД`.`Ид\СОТД^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид` LEFT JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ДОП\СОТ^СПР` = `СПР3`.`Ид` 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 `ФИО сотрудника`, `СПР2`.`Код` AS `Код должности сотрудника`, `СПР2`.`Название` AS `Название должности сотрудника`, `СПР3`.`Код` AS `Код допуска пользователя`, `СПР3`.`Название` AS `Название допуска пользователя`, `СОТ1`.`Код` AS `Код руководителя`, `СОТ1`.`ФИО` AS `ФИО руководителя`, `СПР1`.`Код` AS `Код должности руководителя`, `СПР1`.`Название` AS `Название должности руководителя`, COUNT(*) AS `Число секретных документов` FROM `Доступ к документу: СОТД*ДОК` AS `ДОСТ` LEFT JOIN `Сотрудник с допуском` AS `СОТД` ON `ДОСТ`.`Ид\ДОСТ^СОТД` = `СОТД`.`Ид` LEFT JOIN `Руководитель: СОТ` AS `РУК` ON `СОТД`.`Ид\СОТД^РУК` = `РУК`.`Ид\РУК^СОТ` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ1` ON `РУК`.`Ид\РУК^СОТ` = `СОТ1`.`Ид` LEFT JOIN `Справка+` AS `СПР1` ON `СОТ1`.`Ид_ДОЛ\СОТ^СПР` = `СПР1`.`Ид` LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `СОТД`.`Ид\СОТД^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид` LEFT JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ДОП\СОТ^СПР` = `СПР3`.`Ид` GROUP BY `ДОСТ`.`Ид\ДОСТ^СОТД` ; SELECT * FROM `вирт_Сотрудник с допуском_секретные документы`;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear