SQLize
Online
/
PHPize Online
/
SQLtest Online
A
A
A
Share
Donate
Blog
Popular
Donate
A
A
A
Share
Blog
Popular
SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code.
You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.
SQL code:
Upload
Copy
Format
Clear
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 , `Ид_родитель\СПР^СПР` INT (3) NULL REFERENCES `Справка+` (`Ид`) , CONSTRAINT `Ун1\СПР` UNIQUE (`Слк`, `Код`) ); INSERT INTO `Справка+` VALUES (DEFAULT, "ДОЛ", "про", "профессор", "профессср кафедры", NULL), (DEFAULT, "ДОЛ", "доц", "доцент ", "доцент кафедры", NULL), (NULL, "ДОЛ", "лаб", "лаборант", NULL, NULL), (NULL, "КАФ", "ИРТ", "ФИРТ", "ф-т информатикики и робототехники", NULL), (NULL, "ВИД", "вид", "вид деят-сти", NULL, NULL), (NULL, "ППО", "ппо", "тип поддержки", NULL, NULL), (NULL, "СТА", "ст1", "статья расхода 1", "закупка ПО", NULL); INSERT INTO `Справка+` SELECT NULL, "КАФ", "АСУ", "каф. АСУ", "каф. автоматизир. систем упр-я", `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ"; INSERT INTO `Справка+` SELECT NULL, "ПРА", "пра", "проектная работа", "проекты и этапы", `Ид` FROM `Справка+` WHERE `Слк` = "ВИД" AND `Код` = "вид"; INSERT INTO `Справка+` SELECT NULL, "ПРК", "прк", "проект", NULL, `Ид` FROM `Справка+` WHERE `Слк` = "ПРА" AND `Код` = "пра"; INSERT INTO `Справка+` SELECT NULL, "ЭПР", "эпр", "этап проекта", NULL, `Ид` FROM `Справка+` WHERE `Слк` = "ПРК" AND `Код` = "прк"; SELECT "Table `Справка+`" 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 (150) NOT NULL , `Ид_ДОЛ\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`) , `Ид_КАФ\СОТ^СПР` INT NOT NULL REFERENCES `Справка+` (`Ид`) ); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "001-п", `Паспорт` = "345678", `ФИО` = "Петров А. А.", `Сведения` = "чл. КПСС", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "про"), `Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "002-п", `Паспорт` = "456789", `ФИО` = "Боширов Р. Р.", `Сведения` = "канд. КПСС", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "доц"), `Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "АСУ"); INSERT INTO `Сотрудник%ПЕРС` SET `Ид` = NULL, `Код` = "099-л", `Паспорт` = "567890", `ФИО` = "Исаев М. М.", `Сведения` = "чл. ВЛКСМ", `Ид_ДОЛ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ДОЛ" AND `Код` = "лаб"), `Ид_КАФ\СОТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "КАФ" AND `Код` = "ИРТ"); SELECT "Table `Сотрудник%ПЕРС`" FROM `Сотрудник%ПЕРС` WHERE 1 = 0; SELECT * FROM `Сотрудник%ПЕРС`; DROP TABLE IF EXISTS `Руководитель:СОТ`; CREATE TABLE `Руководитель:СОТ` (`Ид\РУК^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Сведения` VARCHAR (150) NULL ); INSERT INTO `Руководитель:СОТ` SET `Ид\РУК^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "099-л"), `Сведения` = "диспл. класс 6-417"; SELECT "Table `Руководитель:СОТ`" FROM `Руководитель:СОТ` WHERE 1 = 0; SELECT * FROM `Руководитель:СОТ`; DROP TABLE IF EXISTS `Ответственный:СОТ`; CREATE TABLE `Ответственный:СОТ` (`Ид\ОТВ^СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%ПЕРС` (`Ид`) , `Сведения` VARCHAR (150) NULL ); INSERT INTO `Ответственный:СОТ` SET `Ид\ОТВ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "001-п"), `Сведения` = "диспл. класс 6-313"; INSERT INTO `Ответственный:СОТ` SET `Ид\ОТВ^СОТ` = (SELECT `Ид` FROM `Сотрудник%ПЕРС` WHERE `Код` = "002-п"), `Сведения` = "диспл. класс 6-101"; SELECT "Table `Ответственный:СОТ`" 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) NULL , `Начало` VARCHAR (50) NULL , `Окончание` VARCHAR (50) NULL , `Ид_родитель\ПРА^ПРА` INT NULL REFERENCES `ПРабота+` (`Ид`) , `Ид_ВИД\ПРА^СПР` INT NULL REFERENCES `Справка+` (`Ид`) , `Ид_РУК\ПРА^РУК` INT NULL REFERENCES `Руководитель:СОТ` (`Ид\РУК^СОТ`) , `Ид_ОТВ\ПРА^ОТВ` INT NULL REFERENCES `Ответственный:СОТ` (`Ид\ОТВ^СОТ`) ); INSERT INTO `ПРабота+` SET `Ид` = NULL, `Регномер` = "101", `Название` = "калькулятор", `Начало` = "12 апр.", `Окончание` = NULL, `Ид_родитель\ПРА^ПРА` = NULL, `Ид_ВИД\ПРА^СПР` = NULL, `Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"), `Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-313"); INSERT INTO `ПРабота+` SET `Ид` = NULL, `Регномер` = "102", `Название` = "текст. редактор", `Начало` = "15 июн.", `Окончание` = "22 сент", `Ид_родитель\ПРА^ПРА` = NULL, `Ид_ВИД\ПРА^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ПРК" AND `Код` = "прк"), `Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"), `Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-101"); INSERT INTO `ПРабота+` SET `Ид` = NULL, `Регномер` = "102.2", `Название` = "жирный шрифт", `Начало` = "22 июн.", `Окончание` = "25 июн", `Ид_родитель\ПРА^ПРА` = NULL, `Ид_ВИД\ПРА^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ЭПР" AND `Код` = "эпр"), `Ид_РУК\ПРА^РУК` = (SELECT `Ид\РУК^СОТ` FROM `Руководитель:СОТ` WHERE `Сведения` = "диспл. класс 6-417"), `Ид_ОТВ\ПРА^ОТВ` = (SELECT `Ид\ОТВ^СОТ` FROM `Ответственный:СОТ` WHERE `Сведения` = "диспл. класс 6-101"); UPDATE `ПРабота+` SET `Ид_Родитель\ПРА^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "102") WHERE `Регномер` = "102.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 , `Нач. финансирования` VARCHAR (50) NOT NULL , `Кон. финансирования` VARCHAR (50) NOT NULL , `Название` VARCHAR (50) NULL , `Ид_ВИД\ППО^СПР` INT NULL REFERENCES `Справка+` (`Ид`) , `Ид_ПРА\ППО^ПРА` INT NULL REFERENCES `Справка+` (`Ид`) ); INSERT INTO `ППоддержка` SET `Ид` = NULL, `Регномер` = "пп101", `Объём` = "32000", `Нач. финансирования` = "10 апр.", `Кон. финансирования` = "5 сент.", `Название` = "поддержка ПРО калькулятор", `Ид_ВИД\ППО^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ППО" AND `Код` = "ппо"), `Ид_ПРА\ППО^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "101"); INSERT INTO `ППоддержка` SET `Ид` = NULL, `Регномер` = "пп102", `Объём` = "84000", `Нач. финансирования` = "10 июн.", `Кон. финансирования` = "22 сент.", `Название` = "поддержка ПРО текст. документ", `Ид_ВИД\ППО^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "ППО" AND `Код` = "ппо"), `Ид_ПРА\ППО^ПРА` = (SELECT `Ид` FROM `ПРабота+` WHERE `Регномер` = "102");; 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 (150) NULL ); INSERT INTO `Заказчик%ПЕРС` VALUES (NULL, "501-З", "234567", "Бондаренко Г. И.", "ОАО Экспресс"), (NULL, "502-З", "894716", "Крапивцева Е. Е.", "ЗАО Печатный завод"); 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 (150) NULL ); INSERT INTO `Грантодатель%ПЕРС` VALUES (NULL, "601-Г", "479123", "Богачев И. С.", "Банк Зелёный"), (NULL, "602-Г", "281238", "Бумажников Е. О.", "ОАО Печатный домик"); SELECT "`Грантодатель%ПЕРС` Table Content:" FROM `Грантодатель%ПЕРС` WHERE 1 = 0; SELECT * FROM `Грантодатель%ПЕРС`; DROP TABLE IF EXISTS `Хоздоговор:ППО`; CREATE TABLE `Хоздоговор:ППО` (`Ид\ХОЗ^ППО` INT NOT NULL PRIMARY KEY REFERENCES `ППоддержка` (`Ид`) , `Название` VARCHAR (50) NULL , `Объем_ППО` CHAR (50) NOT NULL , `Нач. финансирования` CHAR (50) NOT NULL , `Кон. финансирования` CHAR (50) NOT NULL , `Ид_ОРЗ\ХОЗ^ОРЗ` INT NULL REFERENCES `Заказчик%ПЕРС` (`Ид`) ); INSERT INTO `Хоздоговор:ППО` SET `Ид\ХОЗ^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп101"), `Название` = "х/д по ПРО калькулятор", `Объем_ППО` = "12000", `Нач. финансирования` = "13 апр.", `Кон. финансирования` = "5 сент.", `Ид_ОРЗ\ХОЗ^ОРЗ` = (SELECT `Ид` FROM `Заказчик%ПЕРС` WHERE `Код` = "501-З"); INSERT INTO `Хоздоговор:ППО` SET `Ид\ХОЗ^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп102"), `Название` = "х/д по ПРО текст. редактор", `Объем_ППО` = "34000", `Нач. финансирования` = "13 июн.", `Кон. финансирования` = "22 сент.", `Ид_ОРЗ\ХОЗ^ОРЗ` = (SELECT `Ид` FROM `Заказчик%ПЕРС` WHERE `Код` = "502-З"); SELECT "`Хоздоговор:ППО` Table Content:" FROM `Хоздоговор:ППО` WHERE 1 = 0; SELECT * FROM `Хоздоговор:ППО`; DROP TABLE IF EXISTS `Грант:ППО`; CREATE TABLE `Грант:ППО` (`Ид\ГРА^ППО` INT NOT NULL PRIMARY KEY REFERENCES `ППоддержка` (`Ид`) , `Название` VARCHAR (50) NULL , `Объем_ППО` CHAR (50) NOT NULL , `Нач. финансирования` CHAR (50) NOT NULL , `Кон. финансирования` CHAR (50) NOT NULL , `Ид_ГДЛ\ГРА^ГДЛ` INT NULL REFERENCES `Грантодатель%ПЕРС` (`Ид`) ); INSERT INTO `Грант:ППО` SET `Ид\ГРА^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп101"), `Название` = "грант для ПРО калькулятор", `Объем_ППО` = "20000", `Нач. финансирования` = "12 апр.", `Кон. финансирования` = "5 сент.", `Ид_ГДЛ\ГРА^ГДЛ` = (SELECT `Ид` FROM `Грантодатель%ПЕРС` WHERE `Код` = "601-Г"); INSERT INTO `Грант:ППО` SET `Ид\ГРА^ППО` = (SELECT `Ид` FROM `ППоддержка` WHERE `Регномер` = "пп102"), `Название` = "грант для ПРО текст. редактор", `Объем_ППО` = "50000", `Нач. финансирования` = "12 июн.", `Кон. финансирования` = "22 сент.", `Ид_ГДЛ\ГРА^ГДЛ` = (SELECT `Ид` FROM `Грантодатель%ПЕРС` WHERE `Код` = "602-Г"); 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 (150) NULL ); INSERT INTO `Бухгалтер%ПЕРС` VALUES (NULL, "901-Б", "578192", "Счетов С. Д.", NULL), (NULL, "902-Б", "590128", "Пищева А. Н.", 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 UNIQUE , `Дата` VARCHAR (50) NOT NULL , `Объем` CHAR (50) NOT NULL , `Оплата` CHAR (50) NULL , `Ид_ХОЗ\ВРА^ХОЗ` INT NULL REFERENCES `Хоздоговор:ППО` (`Ид\ХОЗ^ППО`) , `Ид_БУХ\ВРА^БУХ` INT NULL REFERENCES `Бухгалтер%ПЕРС` (`Ид`) ); INSERT INTO `Работа` SET `Ид` = NULL, `Регномер` = "р101.1", `Дата` = "13 апр.", `Объем` = "10%", Оплата = "10%", `Ид_ХОЗ\ВРА^ХОЗ` = (SELECT `Ид\ХОЗ^ППО` FROM `Хоздоговор:ППО` WHERE `Название` = "х/д по ПРО калькулятор"), `Ид_БУХ\ВРА^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "901-Б"); INSERT INTO `Работа` SET `Ид` = NULL, `Регномер` = "р102.1", `Дата` = "13 июн.", `Объем` = "10%", Оплата = "10%", `Ид_ХОЗ\ВРА^ХОЗ` = (SELECT `Ид\ХОЗ^ППО` FROM `Хоздоговор:ППО` WHERE `Название` = "х/д по ПРО текст. редактор"), `Ид_БУХ\ВРА^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "902-Б"); 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 , `Объем` CHAR (50) NOT NULL , `Ид_ГРА\ТРФ^ГРА` INT NULL REFERENCES `Грант:ППО` (`Ид\ГРА^ППО`) , `Ид_БУХ\ТРФ^БУХ` INT NULL REFERENCES `Бухгалтер%ПЕРС` (`Ид`) ); INSERT INTO `Транш` SET `Ид` = NULL, `Регномер` = "т101.1", `Дата` = "13 апр.", `Объем` = "1000", `Ид_ГРА\ТРФ^ГРА` = (SELECT `Ид\ГРА^ППО` FROM `Грант:ППО` WHERE `Название` = "грант для ПРО ПРО калькулятор"), `Ид_БУХ\ТРФ^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "901-Б"); INSERT INTO `Транш` SET `Ид` = NULL, `Регномер` = "т102.1", `Дата` = "13 июн.", `Объем` = "20000", `Ид_ГРА\ТРФ^ГРА` = (SELECT `Ид\ГРА^ППО` FROM `Грант:ППО` WHERE `Название` = "грант для ПРО текст. редактор"), `Ид_БУХ\ТРФ^БУХ` = (SELECT `Ид` FROM `Бухгалтер%ПЕРС` WHERE `Код` = "902-Б"); SELECT "`Транш` Table Content:" FROM `Транш` WHERE 1 = 0; SELECT * FROM `Транш`; DROP TABLE IF EXISTS `Затраты\ВРА^ТРФ`; CREATE TABLE `Затраты\ВРА^ТРФ` (`Нпп` CHAR (10) NOT NULL , `Ид_ВРА\ЗАТ^ВРА` INT NOT NULL REFERENCES `Работа` (`Ид`) , `Ид_ТРФ\ЗАТ^ТРФ` INT NOT NULL REFERENCES `Транш` (`Ид`) , `Объем` CHAR (10) NOT NULL , `Обоснование` VARCHAR (50) NOT NULL , `Ид_СТА\ЗАТ^СПР` INT NULL REFERENCES `Справка+` (`Ид`) , CONSTRAINT `Ид\ЗАТ^ВРА^ТРФ` PRIMARY KEY (`Нпп`,`Ид_ВРА\ЗАТ^ВРА`,`Ид_ТРФ\ЗАТ^ТРФ`) ); INSERT INTO `Затраты\ВРА^ТРФ` SET `Нпп` = "101-Т", `Ид_ВРА\ЗАТ^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р101.1"), `Ид_ТРФ\ЗАТ^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т101.1"), `Объем` = "1500", `Обоснование` = "Закупка ПО", `Ид_СТА\ЗАТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СТА" AND `Код` = "ст1"); INSERT INTO `Затраты\ВРА^ТРФ` SET `Нпп` = "102-Т", `Ид_ВРА\ЗАТ^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р102.1"), `Ид_ТРФ\ЗАТ^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т102.1"), `Объем` = "2000", `Обоснование` = "Покупка лицензии ПО", `Ид_СТА\ЗАТ^СПР` = (SELECT `Ид` FROM `Справка+` WHERE `Слк` = "СТА" AND `Код` = "ст1"); SELECT "`Затраты\ВРА^ТРФ` Table Content:" FROM `Затраты\ВРА^ТРФ` WHERE 1 = 0; SELECT * FROM `Затраты\ВРА^ТРФ`; DROP TABLE IF EXISTS `Компонент:ЗАТ*ВРА`; CREATE TABLE `Компонент:ЗАТ*ВРА` (`Ид_ЗАТ\КЦР^ЗАТ` CHAR (10) NOT NULL REFERENCES `Затраты\ВРА^ТРФ` (`Нпп`) , `Ид_ВРА\КЦР^ВРА` INT NOT NULL REFERENCES `Работа` (`Ид`) , `Объем` CHAR (50) NOT NULL , `Обоснование` CHAR(50) NULL , CONSTRAINT `Ид\КЦР^ЗАТ^ОРЗ` PRIMARY KEY (`Ид_ЗАТ\КЦР^ЗАТ`, `Ид_ВРА\КЦР^ВРА`) ); INSERT INTO `Компонент:ЗАТ*ВРА` SET `Ид_ЗАТ\КЦР^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "1500"), `Ид_ВРА\КЦР^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р101.1"), `Объем` = "1500", `Обоснование` = "затраты за работу р101.1"; INSERT INTO `Компонент:ЗАТ*ВРА` SET `Ид_ЗАТ\КЦР^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "2000"), `Ид_ВРА\КЦР^ВРА` = (SELECT `Ид` FROM `Работа` WHERE `Регномер` = "р102.1"), `Объем` = "2000", `Обоснование` = "затраты за работу р102.1"; SELECT "`Компонент:ЗАТ*ВРА` Table Content:" FROM `Компонент:ЗАТ*ВРА` WHERE 1 = 0; SELECT * FROM `Компонент:ЗАТ*ВРА`; DROP TABLE IF EXISTS `Расходы:ЗАТ*ТРФ`; CREATE TABLE `Расходы:ЗАТ*ТРФ` (`Ид_ЗАТ\РАС^ЗАТ` CHAR (10) NOT NULL REFERENCES `Затраты\ВРА^ТРФ` (`Нпп`) , `Ид_ТРФ\РАС^ТРФ` INT NOT NULL REFERENCES `Транш` (`Ид`) , `Объем` CHAR (50) NOT NULL , `Обоснование` CHAR(50) NULL , CONSTRAINT `Ид\РАС^ЗАТ^ТРФ` PRIMARY KEY (`Ид_ЗАТ\РАС^ЗАТ`, `Ид_ТРФ\РАС^ТРФ`) ); INSERT INTO `Расходы:ЗАТ*ТРФ` SET `Ид_ЗАТ\РАС^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "1500"), `Ид_ТРФ\РАС^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т101.1"), `Объем` = "10000", `Обоснование` = "как потратили транш т101.1"; INSERT INTO `Расходы:ЗАТ*ТРФ` SET `Ид_ЗАТ\РАС^ЗАТ` = (SELECT `Нпп` FROM `Затраты\ВРА^ТРФ` WHERE `Объем` = "2000"), `Ид_ТРФ\РАС^ТРФ` = (SELECT `Ид` FROM `Транш` WHERE `Регномер` = "т102.1"), `Объем` = "20000", `Обоснование` = "как потратили транш т102.1"; SELECT "`Расходы:ЗАТ*ТРФ` Table Content:" FROM `Расходы:ЗАТ*ТРФ` WHERE 1 = 0; SELECT * FROM `Расходы:ЗАТ*ТРФ`; DROP VIEW IF EXISTS `вирт_Проект`; CREATE VIEW `вирт_Проект` AS SELECT `ПРА`.`Регномер` AS `Регномер проекта`, `ПРА`.`Название` AS `Название проекта`, `ПРА`.`Начало` AS `Дата начала проекта`, `ПРА`.`Окончание` AS `Дата окончания проекта`, `СПР1`.`Код` AS `Код вида проекта`, `СПР1`.`Название` AS `Название вида проекта`, `СОТ`.`Код` AS `Код руководителя проекта`, `СОТ`.`ФИО` AS `ФИО руководителя проекта`, `СПР2`.`Код` AS `Код должности руководителя`, `СПР2`.`Название` AS `Название должности`, `СПР3`.`Код` AS `Код кафедры руководителя`, `СПР3`.`Название` AS `Название кафедры`, `СПР4`.`Код` AS `Код факультета кафедры`, `СПР4`.`Название` AS `Название факультета`, `ПРА`.`Ид` AS `Ид\Проект` FROM `ПРабота+` AS `ПРА` LEFT JOIN `Справка+` AS `СПР1` ON `ПРА`.`Ид_ВИД\ПРА^СПР` = `СПР1`.`Ид` LEFT JOIN `Руководитель:СОТ` AS `РУК` ON `ПРА`.`Ид_РУК\ПРА^РУК` = `РУК`.`Ид\РУК^СОТ` INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `РУК`.`Ид\РУК^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид` LEFT JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_КАФ\СОТ^СПР` = `СПР3`.`Ид` LEFT JOIN `Справка+` AS `СПР4` ON `СПР3`.`Ид_родитель\СПР^СПР` = `СПР4`.`Ид` WHERE LENGTH(`ПРА`.`Регномер`) = 3 ; SELECT * FROM `вирт_Проект`; DROP PROCEDURE IF EXISTS `проц_Этап`; CREATE PROCEDURE `проц_Этап` (IN `Вх:Ид\Проект` INT) SELECT `ПРА1`.`Регномер` AS `Нпп этапа`, `ПРА1`.`Название` AS `Название этапа`, `ПРА1`.`Начало` AS `Дата начала этапа`, `ПРА1`.`Окончание` AS `Дата окончания этапа`, `СПР1`.`Код` AS `Код вида этапа`, `СПР1`.`Название` AS `Название вида этапа`, `СОТ`.`Код` AS `Код ответственного`, `СОТ`.`ФИО` AS `ФИО ответственного`, `СПР2`.`Код` AS `Код должности ответственного`, `СПР2`.`Название` AS `Название должности`, `СПР3`.`Код` AS `Код кафедры ответственного`, `СПР3`.`Название` AS `Название кафедры`, `СПР4`.`Код` AS `Код факультета кафедры`, `СПР4`.`Название` AS `Название факультета` FROM `ПРабота+` AS `ПРА1` LEFT JOIN `Справка+` AS `СПР1` ON `ПРА1`.`Ид_ВИД\ПРА^СПР` = `СПР1`.`Ид` LEFT JOIN `Ответственный:СОТ` AS `ОТВ` ON `ПРА1`.`Ид_ОТВ\ПРА^ОТВ` = `ОТВ`.`Ид\ОТВ^СОТ` INNER JOIN `Сотрудник%ПЕРС` AS `СОТ` ON `ОТВ`.`Ид\ОТВ^СОТ` = `СОТ`.`Ид` LEFT JOIN `Справка+` AS `СПР2` ON `СОТ`.`Ид_ДОЛ\СОТ^СПР` = `СПР2`.`Ид` LEFT JOIN `Справка+` AS `СПР3` ON `СОТ`.`Ид_КАФ\СОТ^СПР` = `СПР3`.`Ид` LEFT JOIN `Справка+` AS `СПР4` ON `СПР3`.`Ид_родитель\СПР^СПР` = `СПР4`.`Ид` INNER JOIN `ПРабота+` AS `ПРА2` ON `ПРА1`.`Ид_родитель\ПРА^ПРА` = `ПРА2`.`Ид` WHERE `ПРА2`.`Ид` = `Вх:Ид\Проект` ; CALL `проц_Этап` (1); DROP VIEW IF EXISTS `вирт_Расходы%Транш`; CREATE VIEW `вирт_Расходы%Транш` AS SELECT `ЗАТ`.`Нпп` AS `Нпп расхода`, `СПР`.`Код` AS `Код статьи`, `СПР`.`Название` AS `Название статьи`, `РАС`.`Объем` AS `Объем расхода по статье`, `РАС`.`Обоснование` AS `Обоснование расхода`, `ТРФ`.`Регномер` AS `Регномер транша`, `ТРФ`.`Дата` AS `Дата транша`, `ТРФ`.`Объем` AS `Объем транша`, `БУХ`.`Код` AS `Код бухгалтера`, `БУХ`.`ФИО` AS `ФИО бухгалтера` FROM `Расходы:ЗАТ*ТРФ` AS `РАС` INNER JOIN `Затраты\ВРА^ТРФ` AS `ЗАТ` ON `РАС`.`Ид_ЗАТ\РАС^ЗАТ` = `ЗАТ`.`Нпп` LEFT JOIN `Справка+` AS `СПР` ON `ЗАТ`.`Ид_СТА\ЗАТ^СПР` = `СПР`.`Ид` INNER JOIN `Транш` AS `ТРФ` ON `ЗАТ`.`Ид_ТРФ\ЗАТ^ТРФ` = `ТРФ`.`Ид` LEFT JOIN `Бухгалтер%ПЕРС` AS `БУХ` ON `ТРФ`.`Ид_БУХ\ТРФ^БУХ` = `БУХ`.`Ид` ; SELECT * FROM `вирт_Расходы%Транш`; DROP VIEW IF EXISTS `вирт_Работа_Компонент цены`; CREATE VIEW `вирт_Работа_Компонент цены` AS WITH `ЧКЦР` AS( SELECT `КЦР`.`Ид_ВРА\КЦР^ВРА` AS `Ид\ВРА`, COUNT(*) AS `Чис_КЦР` FROM `Компонент:ЗАТ*ВРА` AS `КЦР` INNER JOIN `Работа` AS `ВРА` ON `КЦР`.`Ид_ВРА\КЦР^ВРА` = `ВРА`.`Ид` GROUP BY `Ид\ВРА`) SELECT `ВРА`.`Регномер` AS `Регномер работы`, `ВРА`.`Дата` AS `Дата сдачи работы`, `ВРА`.`Оплата` AS `Дата оплаты`, `ВРА`.`Объем` AS `Объем работы`, `БУХ`.`Код` AS `Код бухгалтера`, `БУХ`.`ФИО` AS `ФИО бухгалтера`, `ЧКЦР`.`Чис_КЦР` AS `Число компонентов цены` FROM `Работа` AS `ВРА` INNER JOIN `Бухгалтер%ПЕРС` AS `БУХ` ON `ВРА`.`Ид_БУХ\ВРА^БУХ` = `БУХ`.`Ид` INNER JOIN `ЧКЦР` ON `ВРА`.`Ид` = `ЧКЦР`.`Ид\ВРА` ; SELECT * FROM `вирт_Работа_Компонент цены`; DROP VIEW IF EXISTS `вирт_Хоздоговор_Работа`; CREATE VIEW `вирт_Хоздоговор_Работа` AS SELECT `ППО`.`Регномер` AS `Регномер хоздоговора`, `ПРА`.`Регномер` AS `Регномер проекта`, `ХОЗ`.`Объем_ППО` AS `Объем хоздоговора`, `ХОЗ`.`Нач. финансирования` AS `Дата начала финансирования`, `ХОЗ`.`Кон. финансирования` AS `Дата окончания финансирования`, `СПР`.`Код` AS `Код вида хоздоговора`, `СПР`.`Название` AS `Название вида хоздоговора`, `ОРЗ`.`Код` AS `Код организации заказчика`, `ОРЗ`.`Сведения` AS `Название организации заказчика`, COUNT (*) AS `Кол_ВРА` FROM `ВРА` FROM `ППоддержка` AS `ППО` INNER JOIN `ПРабота+` AS `ПРА` ON `ППО`.`Ид_ПРА\ППО^ПРА` = `ПРА`.`Ид` INNER JOIN `Хоздоговор:ППО` AS `ХОЗ` ON `ППО`.`Ид` = `ХОЗ`.`Ид\ХОЗ^ППО` INNER JOIN `Справка+` AS `СПР` ON `ППО`.`Ид_ВИД\ППО^СПР` = `СПР`.`Ид` INNER JOIN `Заказчик%ПЕРС` AS `ОРЗ` ON `ХОЗ`.`Ид_ОРЗ\ХОЗ^ОРЗ` = `ОРЗ`.`Ид` INNER JOIN `Работа` AS `ВРА` ON `ХОЗ`.`Ид\ХОЗ^ППО` = `ВРА`.`Ид_ХОЗ\ВРА^ХОЗ` GROUP BY `ХОЗ`.`Ид\ХОЗ^ППО` ; SELECT * FROM `вирт_Хоздоговор_Работа`;
SQL
Server:
MariaDB 11.4
MariaDB 11.5
MariaDB 10
MariaDB 10 Sakila (ReadOnly)
MySQL 5.7
MySQL 5.7 Sakila (ReadOnly)
MySQL 8.0
MySQL 8.0 Sakila (ReadOnly)
SQLite 3
SQLite 3 Preloaded
PostgreSQL 10 Bookings (ReadOnly)
PostgreSQL 11
PostgreSQL 12
PostgreSQL 13
PostgreSQL 14
PostgreSQL 15
MS SQL Server 2017
MS SQL Server 2019
MS SQL Server 2022
MS SQL Server 2022 AdventureWorks (ReadOnly)
Firebird 4.0
Firebird 4.0 (Employee)
Oracle Database 19c (HR)
Oracle Database 21c
Oracle Database 23c Free
SOQOL
Version
ER Diagram
Preserve result
Stuck with a problem?
Got Error?
Ask ChatGPT!
Result:
Copy
Clear