Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

8-21130671 (1)

.sql
Скачиваний:
0
Добавлен:
07.04.2025
Размер:
8.4 Кб
Скачать


DROP VIEW IF EXISTS `вирт_Абитуриент`;
CREATE VIEW `вирт_Абитуриент` AS
SELECT
`Аб`.`ИД` AS `ИД\Абитуриент`,
`Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
`ПЕРС1`.`Паспорт` AS `Код абитуриента`,
`ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
`ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС2`.`ФИО` AS `ФИО секретаря`
FROM `Абитуриент` AS `Аб`
INNER JOIN `Персона` AS `ПЕРС1`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`


INNER JOIN `Персона` AS `ПЕРС2`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`
;
SELECT * FROM `вирт_Абитуриент`;


DROP PROCEDURE IF EXISTS `проц_Документы Абитуриента`;
CREATE PROCEDURE `проц_Документы Абитуриента`
(IN `Вх:ИД\Абитуриент` INT)
SELECT
`Да`.`Регномер документа` AS `Регномер документа`,
`Да`.`Реквизиты документа` AS `Реквизиты документа`,
`Да`.`Дата подачи документов` AS `Дата подачи документов`,
`ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС`.`ФИО` AS `ФИО`,
`СПР`.`Код` AS `Код вида документа`,
`СПР`.`Название` AS `Название вида документа`


FROM `Документы Абитуриента` AS `Да`
INNER JOIN `Персона` AS `ПЕРС`
ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`

INNER JOIN `Справка+` AS `СПР`
ON `Да`.`ИД_СПР\Да^СПР` = `СПР`.`ИД`
;
CALL `проц_Документы Абитуриента` (1);
CALL `проц_Документы Абитуриента` (2);


DROP PROCEDURE IF EXISTS `проц_Направление абитуриента`;
CREATE PROCEDURE `проц_Направление абитуриента`
(IN `Вх:ИД\Абитуриент` INT)
SELECT
`СПР`.`Код` AS `Код направления`,
`СПР`.`Название` AS `Название направления`

FROM `Направление абитуриента` AS `На`
INNER JOIN `Справка+` AS `СПР`
ON `На`.`ИД_СПР\На^СПР` = `СПР`.`ИД`

INNER JOIN `Документы Абитуриента` AS `Да`
ON `На`.`ИД_Да\На^Да` = `Да`.`ИД`
;
CALL `проц_Направление абитуриента` (1);
CALL `проц_Направление абитуриента` (2);


DROP VIEW IF EXISTS `вирт_Документы Абитуриента%Абитуриент`;
CREATE VIEW `вирт_Документы Абитуриента%Абитуриент` AS
SELECT
`Да`.`Регномер документа` AS `Регномер документа`,
`Да`.`Реквизиты документа` AS `Реквизиты документа`,
`Да`.`Дата подачи документов` AS `Дата подачи документов`,
`ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС`.`ФИО` AS `ФИО`,
`СПР`.`Код` AS `Код вида документа`,
`СПР`.`Название` AS `Название вида документа`,
`Да`.`ИД` AS `ИД\Абитуриент`,
`ПЕРС1`.`Паспорт` AS `Код абитуриента`,
`ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
`ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документ`,
`ПЕРС2`.`ФИО` AS `ФИО секретаря`
FROM `Документы Абитуриента` AS `Да`
INNER JOIN `Персона` AS `ПЕРС`
ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`
INNER JOIN `Справка+` AS `СПР`
ON `Да`.`ИД_СПР\Да^СПР` = `СПР`.`ИД`
INNER JOIN `Персона` AS `ПЕРС1`
ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС1`.`ИД`
INNER JOIN `Персона` AS `ПЕРС2`
ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС2`.`ИД`

;
SELECT * FROM `вирт_Документы Абитуриента%Абитуриент`;


DROP VIEW IF EXISTS `вирт_Направление абитуриента%Документы Абитуриента`;
CREATE VIEW `вирт_Направление абитуриента%Документы Абитуриента` AS
SELECT
`СПР`.`Код` AS `Код направления`,
`СПР`.`Название` AS `Название направления`,
`Да`.`Регномер документа` AS `Регномер документа`,
`Да`.`Реквизиты документа` AS `Реквизиты документа`,
`Да`.`Дата подачи документов` AS `Дата подачи документов`,
`ПЕРС`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС`.`ФИО` AS `ФИО`,
`СПР5`.`Код` AS `Код вида документа`,
`СПР5`.`Название` AS `Название вида документа`

FROM `Направление абитуриента` AS `На`
INNER JOIN `Справка+` AS `СПР`
ON `На`.`ИД_СПР\На^СПР` = `СПР`.`ИД`

INNER JOIN `Документы Абитуриента` AS `Да`
ON `На`.`ИД_Да\На^Да` = `Да`.`ИД`

INNER JOIN `Персона` AS `ПЕРС`
ON `Да`.`ИД_ПЕРС\Да^ПЕРС` = `ПЕРС`.`ИД`

INNER JOIN `Справка+` AS `СПР5`
ON `Да`.`ИД_СПР\Да^СПР` = `СПР5`.`ИД`

;
SELECT * FROM `вирт_Направление абитуриента%Документы Абитуриента`;


DROP VIEW IF EXISTS `вирт_Абитуриент_кол-во`;
CREATE VIEW `вирт_Абитуриент_кол-во` AS
SELECT
`Аб`.`ИД` AS `ИД\Абитуриент`,
`Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
`ПЕРС1`.`Паспорт` AS `Код абитуриента`,
`ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
`ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС2`.`ФИО` AS `ФИО секретаря`,
COUNT(*) AS `Число абитуриентов`
FROM `Абитуриент` AS `Аб`
INNER JOIN `Персона` AS `ПЕРС1`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`


INNER JOIN `Персона` AS `ПЕРС2`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`
GROUP BY `Аб`.`ИД`
;
SELECT * FROM `вирт_Абитуриент_кол-во`;


DROP VIEW IF EXISTS `вирт_Абитуриент_Заявления`;
CREATE VIEW `вирт_Абитуриент_Заявления` AS
SELECT
`Аб`.`ИД` AS `ИД\Абитуриент`,
`Аб`.`Рейтинг абитуриента_Аб` AS `Рейтинг абитуриента`,
`ПЕРС1`.`Паспорт` AS `Код абитуриента`,
`ПЕРС1`.`ФИО` AS `ФИО абитуриента`,
`ПЕРС2`.`Паспорт` AS `Код секретаря, возвратившего документы`,
`ПЕРС2`.`ФИО` AS `ФИО секретаря`,
COUNT(*) AS `Число заявлений`
FROM `Абитуриент` AS `Аб`
INNER JOIN `Персона` AS `ПЕРС1`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС1`.`ИД`
INNER JOIN `Персона` AS `ПЕРС2`
ON `Аб`.`ИД_ПЕРС\Аб^ПЕРС` = `ПЕРС2`.`ИД`

GROUP BY `Аб`.`ИД`
;
SELECT * FROM `вирт_Абитуриент_Заявления`;


Соседние файлы в предмете Базы данных