Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
базы данных отчетхирурги.docx
Скачиваний:
10
Добавлен:
29.10.2018
Размер:
427.65 Кб
Скачать
  1. Запрос на выборку: Составить список операций, выполненных определенной бригадой медперсонала.

Для вывода списка операций, которые были выполнены определенной бригадой, в конструкторе запроса необходимо определить список таблиц, которые участвуют в запросе. Данный запрос является запросом на выборку. Для вывода списка продукции необходима таблица «Бригады», в которой выбирается поле «Название», таблица «Операции», откуда выбирается поле «Код Операции» а также таблица «Пациенты» с полями «ФИО» и «Диагноз».

Фотография конструктора запроса на выборку представлена на рисунке 4.1.

Рисунок 4.1 – Фотография запроса 1

Текст запроса на языке SQL будет иметь следующий вид:

SELECT Бригада.Название, Операции.КодОп, Пациенты.ФИО, Пациенты.Диагноз

FROM Пациенты INNER JOIN (Бригада INNER JOIN Операции ON Бригада.КодБриг = Операции.КодБриг) ON Пациенты.КодПац = Операции.КодПац

WHERE (((Бригада.Название)=[Введите название бригады]));

Жирным шрифтом в команде запросов выделены зарезервированные слова (команды) языка SQL.

Результаты выполнения запроса 1 представлены в таблице 4.1.

Таблица 4.1- Результаты выполнения запроса 1

  1. Вывести список больных, которые ни разу не оперировались.

Данный запрос также является запросом на выборку. В запрос добавляются поля «Код Пациента» и «ФИО» из таблицы «Пациенты», а также «Код Операции» из таблицы «Операции». В конструкторе присваиваем условием отбора поля «Код Операции» значение «Is Null», запрещаем его вывод на экран, кроме того определяем соединение между таблицами как левое.

Фотография конструктора запроса представлена на рисунке 4.2.

Рисунок 4.2 – Фотография запроса 2

Текст запроса на языке SQL будет иметь следующий вид:

SELECT Пациенты.КодПац, Пациенты.ФИО

FROM Пациенты LEFT JOIN Операции ON Пациенты.КодПац = Операции.КодПац

WHERE (((Операции.КодОп) Is Null));

Результаты выполнения запроса 2 представлены в таблице 4.2.

Таблица 4.2- Результаты выполнения запроса 2

  1. Подсчитать количество пациентов в каждой палате по состоянию на определенную дату.

Данный запрос является запросом на выборку с группировкой. Для выполнения данного запроса необходимо подсчитать количество пациентов по записям в таблице «Пребывание в палате». В данный запрос необходимо включить следующие таблицы: «Палаты», «Пребывание в палате» и «Пациенты». Таблица «Палаты» определяет название палат, для этого в строке поле необходимо указать «Код Палаты» и «Номер». Таблица «Пациенты» позволит определить количество пациентов в палате, для этого в строке поле необходимо указать «КодПац», а в строке групповая операция указать функцию Count. Кроме того, необходимо добавить поле «Дата» из таблицы «Пребывание в палате» и в условии отбора для него указать <=[Введите дату].

Фотография конструктора запроса представлена на рисунке 4.3.

Рисунок 4.3 – Фотография запроса 3

Текст запроса на языке SQL имеет следующий вид:

SELECT Палата.КодПал, Палата.Номер, Count(Пациенты.КодПац) AS [Количество Пациентов]

FROM Пациенты INNER JOIN (Палата INNER JOIN [Пребывание в палате] ON Палата.КодПал = [Пребывание в палате].КодПал) ON Пациенты.КодПац = [Пребывание в палате].КодПац

WHERE ((([Пребывание в палате].Дата)<=[Введите дату]))

GROUP BY Палата.КодПал, Палата.Номер;

Результаты выполнения запроса 2 представлены в таблице 4.3.

Таблица 4.3- Результаты выполнения запроса 3