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
, `Ид_родитель` INT NULL
, UNIQUE (`Слк`, `Код`)
, FOREIGN KEY (`Ид_родитель`) REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Справка+` VALUES
(NULL, "ВП", "в1", "Вид1", NULL),
(NULL, "ВП", "в2", "Вид2", NULL),
(NULL, "ОРГ", "о1", "Организация1", NULL),
(NULL, "ДОЛ", "д1", "Должность1", NULL),
(NULL, "ДОЛ", "д2", "Должность2 ", NULL),
(NULL, "ПОД", "п1", "Подразделение1", NULL),
(NULL, "ПОД", "п2", "Подразделение2 ", NULL),
(NULL, "ВД", "в1", "Вид1", NULL),
(NULL, "ВД", "в2", "Вид2", NULL),
(NULL, "ВИД", "в1", "Вид1", NULL),
(NULL, "ВИД", "в2", "Вид2", NULL),
(NULL, "ВО", "в1", "Вид1", NULL),
(NULL, "ВО", "в2", "Вид2", NULL);
INSERT INTO `Справка+` SELECT
NULL, "ДОЛ", "д3", "Должнсоть3", `Ид` FROM `Справка+` WHERE `Слк`="ОРГ" AND `Код`="о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
, `Паспорт` CHAR (10) NOT NULL UNIQUE
, `ФИО` VARCHAR (50) NOT NULL
, `Ид\ОРГ` INT NOT NULL
, `Название организации` VARCHAR (50) NOT NULL
, `Адрес организации` VARCHAR (50) NOT NULL
, `Сведения` VARCHAR (50) NOT NULL
);
INSERT INTO `Внешний` SELECT
NULL, "001-К", "123456", "Иванов И. И.", "001", "Организация1", "Карла Маркса 12", "Сведения1";
INSERT INTO `Внешний` SELECT
NULL,"002-К", "234567", "Сидоров С. С.", "002", "Организация2", "Карла Маркса 12", "Сведения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
, `Паспорт` CHAR (10) NOT NULL UNIQUE
, `ФИО` VARCHAR (50) NOT NULL
, `Сведения` VARCHAR (50) NOT NULL
, `Ид_ДОЛ\СПР` INT NOT NULL
, `Ид_ПОД\СПР` INT NOT NULL
, FOREIGN KEY (`Ид_ДОЛ\СПР`) REFERENCES `Справка+` (`Ид`)
, FOREIGN KEY (`Ид_ПОД\СПР`) REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "001-Р", `Паспорт` = "345679", `ФИО`= "Пятерева В. А.", `Сведения`= "Сведение1",
`Ид_ДОЛ\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "д1"),
`Ид_ПОД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ПОД" AND `Код` = "п1");
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "002-И", `Паспорт` = "456789", `ФИО`= "Упаева П. В..", `Сведения`= "Сведение2",
`Ид_ДОЛ\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "д1"),
`Ид_ПОД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ПОД" AND `Код` = "п1");
INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "003-П", `Паспорт` = "567890", `ФИО`= "Набиев. К. И.", `Сведения`= "Сведение3",
`Ид_ДОЛ\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "д1"),
`Ид_ПОД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ПОД" AND `Код` = "п1");
SELECT "`Сотрудник%ПЕРС` Table Content:" FROM `Сотрудник%ПЕРС` WHERE 1=0;
SELECT * FROM `Сотрудник%ПЕРС`;
DROP TABLE IF EXISTS `Регистратор:СОТ`;
CREATE TABLE `Регистратор:СОТ`
( `Ид\СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)
);
INSERT INTO `Регистратор:СОТ` 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 `Исполнитель:СОТ` SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` ="002-И";
SELECT "`Исполнитель:СОТ` Table Content:" FROM `Исполнитель:СОТ` WHERE 1=0;
SELECT * FROM `Исполнитель:СОТ`;
DROP TABLE IF EXISTS `Получатель-руководитель:СОТ`;
CREATE TABLE `Получатель-руководитель:СОТ`
( `Ид\СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`)
);
INSERT INTO `Получатель-руководитель:СОТ` 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
, `Название организации` VARCHAR (50) NOT NULL
, `Адрес организации` VARCHAR (50) NOT NULL
);
INSERT INTO `Организация` SET `Ид` = NULL, `Код организации` = "001", `Название организации` = "Название1", `Адрес организации` = "Карла Маркса 12";
INSERT INTO `Организация` SET `Ид` = NULL, `Код организации` = "002", `Название организации` = "Название2", `Адрес организации` = "Карла Маркса 12";
SELECT "`Организация` Table Content:" FROM `Организация` WHERE 1=0;
SELECT * FROM `Организация`;
DROP TABLE IF EXISTS `Операционный день`;
CREATE TABLE `Операционный день`
( `Ид` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
, `Дата` VARCHAR(50) NOT NULL
, `Ид_ВИД\СПР` INT NOT NULL
, `Ид\РЕГ` INT NOT NULL
, FOREIGN KEY (`Ид_ВИД\СПР`) REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Операционный день` SET `Ид` = NULL, `Дата` = "2003.01.01",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\РЕГ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-Р");
INSERT INTO `Операционный день` SET `Ид` = NULL, `Дата` = "2004.01.01",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\РЕГ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-Р");
INSERT INTO `Операционный день` SET `Ид` = NULL, `Дата` = "2005.01.01",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\РЕГ` = (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
, `Ид\ОД` INT NOT NULL
, `Ид_ВИД\СПР` INT NOT NULL
, `Ид\И` INT NOT NULL
, `На исходящий номер` CHAR (10) NULL UNIQUE
, FOREIGN KEY (`Ид\И`) REFERENCES `Исполнитель:СОТ` (`Ид\СОТ`)
, FOREIGN KEY (`Ид_ВИД\СПР`) REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Входящее операционного дня:ОД` SET `Ид` = NULL, `Входящий номер поступления` = "1", `На исходящий номер` = "1",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2003.01.01");
INSERT INTO `Входящее операционного дня:ОД` SET `Ид` = NULL, `Входящий номер поступления` = "2", `На исходящий номер` = "2",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2004.01.01");
INSERT INTO `Входящее операционного дня:ОД` SET `Ид` = NULL, `Входящий номер поступления` = "3", `На исходящий номер` = "3",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2005.01.01");
SELECT "`Входящее операционного дня:ОД` Table Content:" FROM `Входящее операционного дня:ОД` WHERE 1=0;
SELECT * FROM `Входящее операционного дня:ОД`;
DROP TABLE IF EXISTS `Документ в поступлении:ОД*ВОД`;
CREATE TABLE `Документ в поступлении:ОД*ВОД`
( `Входящий номер документа` CHAR (10) NOT NULL
, `Ид\ОД` INT NOT NULL
, `Ид\ВОД` INT NOT NULL
, `Ид_ВИД\СПР` INT NOT NULL
, `На исходящий номер` CHAR (10) NULL UNIQUE
, `Ид\ВНЕШ` INT NOT NULL
, `Сведения` VARCHAR (50) NOT NULL
, PRIMARY KEY(`Входящий номер документа`, `Ид\ОД`, `Ид\ВОД`)
, FOREIGN KEY (`Ид_ВИД\СПР`) REFERENCES `Справка+` (`Ид`)
, FOREIGN KEY (`Ид\ОД`) REFERENCES `Операционный день` (`Ид`)
, FOREIGN KEY (`Ид\ВНЕШ`) REFERENCES `Внешний` (`Ид`)
);
INSERT INTO `Документ в поступлении:ОД*ВОД` SET `Входящий номер документа`= "1", `На исходящий номер` = "1", `Сведения` = "Сведения1",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2003.01.01"),
`Ид\ВОД` = (SELECT `Ид` FROM `Входящее операционного дня:ОД` WHERE `Входящий номер поступления` = "1"),
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "001-К");
INSERT INTO `Документ в поступлении:ОД*ВОД` SET `Входящий номер документа`= "2", `На исходящий номер` = "2", `Сведения` = "Сведения2",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2004.01.01"),
`Ид\ВОД` = (SELECT `Ид` FROM `Входящее операционного дня:ОД` WHERE `Входящий номер поступления` = "2"),
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "002-К");
INSERT INTO `Документ в поступлении:ОД*ВОД` SET `Входящий номер документа`= "3", `На исходящий номер` = "3", `Сведения` = "Сведения3",
`Ид_ВИД\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2005.01.01"),
`Ид\ВОД` = (SELECT `Ид` FROM `Входящее операционного дня:ОД` WHERE `Входящий номер поступления` = "3"),
`Ид\ВНЕШ` = (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
, `Входящий номер поступления` CHAR (10) NOT NULL
, `Ид\ВНЕШ` INT NOT NULL
, `Сведения` VARCHAR (50) NOT NULL
);
INSERT INTO `Поступление с поручениями` SET `Ид` = NULL, `Регномер поручения`= "001", `Входящий номер поступления` = "1", `Сведения` = "Сведения1",
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "001-К");
INSERT INTO `Поступление с поручениями` SET `Ид` = NULL,`Регномер поручения`= "002", `Входящий номер поступления` = "2", `Сведения` = "Сведения2",
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "002-К");
INSERT INTO `Поступление с поручениями` SET `Ид` = NULL,`Регномер поручения`= "003", `Входящий номер поступления` = "2", `Сведения` = "Сведения2",
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "002-К");
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
, `Ид\И` INT NOT NULL
, `Ид\ПР` INT NOT NULL
, `Дата поручения` DATE NOT NULL
, `Содержание поручения` VARCHAR (50) NOT NULL UNIQUE
);
INSERT INTO `Поручение по поступлению` SET `Ид` = NULL, `Регномер поручения`= "001", `Входящий номер поступления`= "1", `Дата поручения` = "2003.01.01", `Содержание поручения` = "Содержание1",
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ПР` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-П");
INSERT INTO `Поручение по поступлению` SET `Ид` = NULL, `Регномер поручения`= "002", `Входящий номер поступления`= "2", `Дата поручения` = "2004.01.01", `Содержание поручения` = "Содержание2",
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ПР` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-П");
INSERT INTO `Поручение по поступлению` SET `Ид` = NULL, `Регномер поручения`= "003", `Входящий номер поступления`= "1", `Дата поручения` = "2005.01.01", `Содержание поручения` = "Содержание3",
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ПР` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "003-П");
SELECT "`Поручение по поступлению` Table Content:" FROM `Поручение по поступлению` WHERE 1=0;
SELECT * FROM `Поручение по поступлению`;
DROP TABLE IF EXISTS `Документ:ОД*ИОД`;
CREATE TABLE `Документ:ОД*ИОД`
( `Исходящий номер документа` INT NOT NULL PRIMARY KEY
, `Дата операционного дня` VARCHAR (50) NOT NULL
, `Исходящий номер отправления` INT NOT NULL
, `Ид\ПпП` INT NOT NULL
, `На входящий номер` CHAR (10) NOT NULL UNIQUE
, `Дата поручения` VARCHAR(50) NOT NULL
, `Содержание поручения` VARCHAR (50) NOT NULL UNIQUE
);
INSERT INTO `Документ:ОД*ИОД` SET `Исходящий номер документа`= "001", `Дата операционного дня` = "2003.01.01", `Исходящий номер отправления`= "1", `На входящий номер`= "1", `Дата поручения`= "2003.01.01", `Содержание поручения` = "Содержание1",
`Ид\ПпП` = (SELECT `Ид` FROM `Поступление с поручениями` WHERE `Регномер поручения` = "001");
INSERT INTO `Документ:ОД*ИОД` SET `Исходящий номер документа`= "002", `Дата операционного дня` = "2004.01.01", `Исходящий номер отправления`= "2", `На входящий номер`= "2", `Дата поручения`= "2004.01.01", `Содержание поручения` = "Содержание2",
`Ид\ПпП` = (SELECT `Ид` FROM `Поступление с поручениями` WHERE `Регномер поручения` = "002");
INSERT INTO `Документ:ОД*ИОД` SET `Исходящий номер документа`= "003", `Дата операционного дня` = "2005.01.01", `Исходящий номер отправления`= "3", `На входящий номер`= "3", `Дата поручения`= "2005.01.01", `Содержание поручения` = "Содержание3",
`Ид\ПпП` = (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
, `Исходящий номер отправления` INT NOT NULL
, `Ид\ОД` INT NOT NULL
, `Ид_ВО\СПР` INT NOT NULL
, `На входящий номер` CHAR (10) NOT NULL UNIQUE
, `Ид\И` INT NOT NULL
, `Ид\ВНЕШ` INT NOT NULL
, `Сведения` VARCHAR (50) NOT NULL
, FOREIGN KEY (`Ид_ВО\СПР`) REFERENCES `Справка+` (`Ид`)
);
INSERT INTO `Исходящее операц-ого дня:ОД` SET `Ид` = NULL, `Исходящий номер отправления`= "001", `На входящий номер`= "1", `Сведения` = "Сведения1",
`Ид_ВО\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2003.01.01"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "001-К");
INSERT INTO `Исходящее операц-ого дня:ОД` SET `Ид` = NULL, `Исходящий номер отправления`= "002", `На входящий номер`= "2", `Сведения` = "Сведения2",
`Ид_ВО\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2004.01.01"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "001-К");
INSERT INTO `Исходящее операц-ого дня:ОД` SET `Ид` = NULL, `Исходящий номер отправления`= "003", `На входящий номер`= "3", `Сведения` = "Сведения3",
`Ид_ВО\СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "в1"),
`Ид\ОД` = (SELECT `Ид` FROM `Операционный день` WHERE `Дата` = "2005.01.01"),
`Ид\И` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-И"),
`Ид\ВНЕШ` = (SELECT `Ид` FROM `Внешний` WHERE `Код` = "001-К");
SELECT "`Исходящее операц-ого дня:ОД` Table Content:" FROM `Исходящее операц-ого дня:ОД` WHERE 1=0;
SELECT * FROM `Исходящее операц-ого дня:ОД`;
DROP VIEW IF EXISTS `вирт_Операционный_день`;
CREATE VIEW `вирт_Операционный_день` AS
SELECT
`ОД`.`Дата` AS `Дата операционного дня`,
`СПР1`.`Код` AS `Код вида операционного дня`,
`СПР1`.`Название` AS `Название вида операционного дня`,
`СОТ`.`Код` AS `Код регистратора`,
`СОТ`.`ФИО` AS `ФИО регистратора`,
`СОТ`.`Сведения` AS `Сведения регистратора`,
`СПР2`.`Код` AS `Код должности регистратора`,
`СПР2`.`Название` AS `Название должности регистратора`,
`СПР3`.`Код` AS `Код подразделения регистратора`,
`СПР3`.`Название` AS `Название подразделения регистратора`,
`ОД`.`Ид` AS `Ид\ОПЕР`
FROM `Операционный день` AS `ОД`
INNER JOIN `Справка+` AS `СПР1` ON `ОД`.`Ид_ВИД\СПР` = `СПР1`.`Ид`
INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ОД`.`Ид\РЕГ` = `СОТ`.`Ид`
INNER JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СПР` = `СПР2`.`Ид`
INNER JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ПОД\СПР` = `СПР3`.`Ид`
WHERE `СПР1`.`Слк` = "ВИД" AND `СПР2`.`Слк` = "ДОЛ" AND `СПР3`.`Слк` = "ПОД"
;
SELECT *FROM `вирт_Операционный_день`;
DROP PROCEDURE IF EXISTS `проц_Входящее_операционного_дня`;
CREATE PROCEDURE `проц_Входящее_операционного_дня`
(IN `Вх:Ид\ОПЕР` INT)
SELECT
`ВОД`.`Входящий номер поступления` AS `Входящий номер поступления`,
`ВОД`.`На исходящий номер` AS `На исходящий номер`,
`СПР1`.`Код` AS `Код вида входящего операционного дня`,
`СПР1`.`Название` AS `Название вида входящего операционного дня`,
`СОТ`.`Код` AS `Код исполнителя`,
`СОТ`.`ФИО` AS `ФИО исполнителя`,
`СОТ`.`Сведения` AS `Сведения исполнителя`,
`СПР2`.`Код` AS `Код должности исполнителя`,
`СПР2`.`Название` AS `Название должности исполнителя`,
`СПР3`.`Код` AS `Код подразделения исполнителя`,
`СПР3`.`Название` AS `Название подразделения исполнителя`,
`ВОД`.`Ид` AS `Ид\ВОД`
FROM `Входящее операционного дня:ОД` AS `ВОД`
INNER JOIN `Справка+` AS `СПР1` ON `ВОД`.`Ид_ВИД\СПР` = `СПР1`.`Ид`
INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ВОД`.`Ид\И` = `СОТ`.`Ид`
INNER JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СПР` = `СПР2`.`Ид`
INNER JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ПОД\СПР` = `СПР3`.`Ид`
WHERE `СПР1`.`Слк` = "ВИД" AND `СПР2`.`Слк` = "ДОЛ" AND `СПР3`.`Слк` = "ПОД"
;
CALL `проц_Входящее_операционного_дня` (1);
CALL `проц_Входящее_операционного_дня` (2);
DROP PROCEDURE IF EXISTS `проц_Документ_в_поступлении`;
CREATE PROCEDURE `проц_Документ_в_поступлении`
(IN `Вх:Ид\ВОД` INT)
SELECT
`ДвП`.`Входящий номер документа` AS `Входящий номер документа`,
`СПР1`.`Код` AS `Код вида документа`,
`СПР1`.`Название` AS `Название вида документа`
FROM `Документ в поступлении:ОД*ВОД` AS `ДвП`
INNER JOIN `Справка+` AS `СПР1` ON `ДвП`.`Ид_ВИД\СПР` = `СПР1`.`Ид`
;
CALL `проц_Документ_в_поступлении` (1);
CALL `проц_Документ_в_поступлении` (2);
DROP VIEW IF EXISTS `вирт_Операционный_день`;
CREATE VIEW `вирт_Операционный_день` AS
SELECT
`ОД`.`Дата` AS `Дата операционного дня`,
`СПР1`.`Код` AS `Код вида операционного дня`,
`СПР1`.`Название` AS `Название вида операционного дня`,
`СОТ`.`Код` AS `Код регистратора`,
`СОТ`.`ФИО` AS `ФИО регистратора`,
`СОТ`.`Сведения` AS `Сведения регистратора`,
`СПР2`.`Код` AS `Код должности регистратора`,
`СПР2`.`Название` AS `Название должности регистратора`,
`СПР3`.`Код` AS `Код подразделения регистратора`,
`СПР3`.`Название` AS `Название подразделения регистратора`,
`ОД`.`Ид` AS `Ид\ОПЕР`
FROM `Операционный день` AS `ОД`
INNER JOIN `Справка+` AS `СПР1` ON `ОД`.`Ид_ВИД\СПР` = `СПР1`.`Ид`
INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ОД`.`Ид\РЕГ` = `СОТ`.`Ид`
INNER JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СПР` = `СПР2`.`Ид`
INNER JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ПОД\СПР` = `СПР3`.`Ид`
WHERE `СПР1`.`Слк` = "ВИД" AND `СПР2`.`Слк` = "ДОЛ" AND `СПР3`.`Слк` = "ПОД"
;
SELECT *FROM `вирт_Операционный_день`;
DROP PROCEDURE IF EXISTS `проц_Исходящее_операц-ого_дня%Документ_в_поступлении`;
CREATE PROCEDURE `проц_Исходящее_операц-ого_дня%Документ_в_поступлении`
(IN `Вх:Ид\ОПЕР` INT)
SELECT
`ИОД`.`Исходящий номер отправления` AS `Исходящий номер отправления`,
`ИОД`.`На входящий номер` AS `На входящий номер`,
`СПР1`.`Код` AS `Код вида`,
`СПР1`.`Название` AS `Название вида`,
`СОТ`.`Код` AS `Код исполнителя`,
`СОТ`.`ФИО` AS `ФИО исполнителя`,
`СОТ`.`Сведения` AS `Сведения исполнителя`,
`СПР2`.`Код` AS `Код должности исполнителя`,
`СПР2`.`Название` AS `Название должности исполнителя`,
`СПР3`.`Код` AS `Код подразделения исполнителя`,
`СПР3`.`Название` AS `Название подразделения исполнителя`,
`СПР4`.`Код` AS `Код вида документа`,
`СПР4`.`Название` AS `Название вида документа`,
`ВНЕШ1`.`Код` AS `Код внешнего`,
`ВНЕШ1`.`ФИО` AS `ФИО внешнего`,
`ВНЕШ1`.`Название организации` AS `Название организации внешнего`,
`ВНЕШ1`.`Адрес организации` AS `Адрес организации внешнего`,
`ВНЕШ1`.`Сведения` AS `Сведения внешнего`,
`ДвП`.`Входящий номер документа` AS `Входящий номер документа`,
`СПР4`.`Код` AS `Код вида документа`,
`СПР4`.`Название` AS `Название вида документа`,
`ИОД`.`Ид` AS `Ид\ИОД`
FROM `Исходящее операц-ого дня:ОД` AS `ИОД`
LEFT JOIN `Внешний` AS `ВНЕШ1` ON `ИОД`.`Ид\ВНЕШ` = `ВНЕШ1`.`Ид`
LEFT JOIN `Документ в поступлении:ОД*ВОД` AS `ДвП` ON `ДвП`.`Ид\ОД` = `ИОД`.`Ид`
LEFT JOIN `Справка+` AS `СПР1` ON `ИОД`.`Ид_ВО\СПР` = `СПР1`.`Ид`
LEFT JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ИОД`.`Ид\И` = `СОТ`.`Ид`
LEFT JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_ПОД\СПР` = `СПР3`.`Ид`
LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СПР` = `СПР2`.`Ид`
LEFT JOIN `Справка+` AS `СПР4` ON `ДвП`.`Ид_ВИД\СПР` = `СПР4`.`Ид`
WHERE `ИОД`.`Ид` = `Вх:Ид\ОПЕР`
AND `СПР1`.`Слк` = "ВО"
;
CALL `проц_Исходящее_операц-ого_дня%Документ_в_поступлении` (1);
CALL `проц_Исходящее_операц-ого_дня%Документ_в_поступлении` (2);
CALL `проц_Исходящее_операц-ого_дня%Документ_в_поступлении` (3);
DROP VIEW IF EXISTS `вирт_Поступление_с_поручениями`;
CREATE VIEW `вирт_Поступление_с_поручениями` AS
SELECT
`ПсП`.`Входящий номер поступления` AS `Входящий номер поступления`,
`ПсП`.`Сведения` AS `Сведения поступления`,
`ВНЕШ`.`Код` AS `Код внешнего`,
`ВНЕШ`.`ФИО` AS `ФИО внешнего`,
`ВНЕШ`.`Название организации` AS `Название организации внешнего`,
`ВНЕШ`.`Адрес организации` AS `Адрес организации внешнего`,
`ВНЕШ`.`Сведения` AS `Сведения внешнего`,
`ОРГ`.`Код организации` AS `Код организации`,
`ОРГ`.`Название организации` AS `Название организации`,
`ОРГ`.`Адрес организации` AS `Адрес организации`,
COUNT(*) AS `Число поручений`
FROM `Поступление с поручениями` AS `ПсП`
LEFT JOIN `Внешний` AS `ВНЕШ` ON `ВНЕШ`.`Ид` = `ПсП`.`Ид\ВНЕШ`
LEFT JOIN `Организация` AS `ОРГ` ON `ВНЕШ`.`Ид\ОРГ` = `ОРГ`.`Ид`
INNER JOIN `Поручение по поступлению` AS `ПпП` ON `ПсП`.`Ид`=`ПпП`.`Ид\ПсП`
GROUP BY `ПпП`.`Ид\ПсП`
;
SELECT * FROM `вирт_Поступление_с_поручениями`;