Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Организация запросов






В работе создана серия запросов, обеспечивающих основную функциональность базы данных. Часть запросов выполнены на языке SQLпутем ручного ввода данных, остальные – с помощью конструктора запросов. При рассмотрении будет указываться основное название и в скобках – название, вынесенное в кнопочную форму. Запросы без названия в скобках в кнопочную форму не вынесены или имеют аналогичное название. Запросы, выполненные на sql имеют соответствующую пометку в названии

 

· SQL Запрос на сумму всех расходов. Отображает номер расхода, информацию о нём из таблиц «Учёт расходов», «Расходы подвиды» и вычисляемое поле, которое подсчитывает сумму данного расхода (произведение цены за единицу товара на количество единиц). Код запроса:

 

SELECT [Запрос по общей сумме каждого расхода].[номер расхода], [Запрос по общей сумме каждого расхода].[название расхода], [учёт расходов].[Код отдела], [учёт расходов].[Кол-во], [Запрос по общей сумме каждого расхода].[цена за единицу товара], [Запрос по общей сумме каждого расхода].сумма_расхода, [учёт расходов].[Дата расхода]

FROM [Запрос по общей сумме каждого расхода] INNER JOIN [учёт расходов] ON [Запрос по общей сумме каждого расхода].[номер расхода] = [учёт расходов].[номер расхода];

· SQL Запрос по виду на сумму расходов. Отображает данные по виду расходов из таблицы «Виды расходов», складывая значения столбца «сумма_расхода» из SQL Запрос на сумму всех расходов группируя по видам расхода. Код запроса:

SELECT [Запрос по общей сумме каждого расхода].[Код вида], [виды расходов].[Название вида], Sum([Запрос по общей сумме каждого расхода].сумма_расхода) AS [Sum-сумма_расхода]

FROM [Запрос по общей сумме каждого расхода] INNER JOIN ([виды расходов] INNER JOIN [расходы подвиды] ON [виды расходов].[Код вида]=[расходы подвиды].[Код вида]) ON [Запрос по общей сумме каждого расхода].[Код расхода]=[расходы подвиды].[Код расхода]

GROUP BY [Запрос по общей сумме каждого расхода].[Код вида], [виды расходов].[Название вида];

· SQL Запрос по виду на остаток денежных средств. Отображает данные по виду расходов из таблицы «Виды расходов», также столбец «Sum-сумма_расхода» из запроса SQL Запрос по виду на сумму расходов. Также подсчитывает остаток денежных средств на каждый вид расхода (разность предельной нормы на вид расхода и Sum-сумма_расхода).

Код запроса:

 

SELECT [виды расходов].[Код вида], [виды расходов].[Название вида], [виды расходов].[Предельная норма на вид расхода], [SQL Запрос по виду на сумму расходов].[Sum-сумма_расхода], [виды расходов]! [Предельная норма на вид расхода]-[SQL Запрос по виду на сумму расходов]! [Sum-сумма_расхода] AS остаток

FROM [виды расходов] INNER JOIN [SQL Запрос по виду на сумму расходов] ON [виды расходов].[Код вида]=[SQL Запрос по виду на сумму расходов].[Код вида]

GROUP BY [виды расходов].[Код вида], [виды расходов].[Название вида], [виды расходов].[Предельная норма на вид расхода], [SQL Запрос по виду на сумму расходов].[Sum-сумма_расхода], [виды расходов]! [Предельная норма на вид расхода]-[SQL Запрос по виду на сумму расходов]! [Sum-сумма_расхода];

· SQL Запрос по виду есть ли перерасход (запрос по виду на перерасход). Оценивает остаток средств, посчитанный в SQL Запрос по виду на остаток денежных средств и отображает есть ли перерасход средств (да/нет):

 

SELECT [виды расходов].[Код вида], [виды расходов].[Название вида], [SQL Запрос по виду на остаток денежных средств].остаток, IIf([SQL Запрос по виду на остаток денежных средств]! остаток< 0, Yes, No) AS [есть ли перерасход средств]

FROM [виды расходов] INNER JOIN [SQL Запрос по виду на остаток денежных средств] ON [виды расходов].[Код вида]=[SQL Запрос по виду на остаток денежных средств].[Код вида]

GROUP BY [виды расходов].[Код вида], [виды расходов].[Название вида], [SQL Запрос по виду на остаток денежных средств].остаток, IIf([SQL Запрос по виду на остаток денежных средств]! остаток< 0, Yes, No);


· SQL Запрос по отделу на общую сумму расходов. Отображает данные по отделу из таблицы «Копия отделы», складывая значения столбца «сумма_расхода» из SQL Запрос на сумму всех расходов группируя по отделам.

Код запроса:

 

SELECT [Копия отделы].[Код отдела], [Копия отделы].[Название отдела], Sum([Запрос по общей сумме каждого расхода].сумма_расхода) AS [Sum-сумма_расхода]

FROM ([Копия отделы] INNER JOIN ([расходы подвиды] INNER JOIN [учёт расходов] ON [расходы подвиды].[Код расхода] = [учёт расходов].[Код расхода]) ON [Копия отделы].[Код отдела] = [учёт расходов].[Код отдела]) INNER JOIN [Запрос по общей сумме каждого расхода] ON ([учёт расходов].[номер расхода] = [Запрос по общей сумме каждого расхода].[номер расхода]) AND ([расходы подвиды].[Код расхода] = [Запрос по общей сумме каждого расхода].[Код расхода])

GROUP BY [Копия отделы].[Код отдела], [Копия отделы].[Название отдела];

· SQL Запрос по отделам на остаток средств (запрос по отделам на остаток средств). Отображает данные по отделам из таблицы «Копия отделы», также столбец «Sum-сумма_расхода» из запроса SQL Запрос по отделу на общую сумму расходов. Также подсчитывает остаток денежных средств на каждый отдел (разность предельной нормы на отдел и Sum-сумма_расхода).

Код запроса:

 

SELECT [Копия отделы].[Код отдела], [Копия отделы].[Название отдела], [Копия отделы].[предельная норма расхода], [SQL Запрос по отделу на общую сумму расходов].[Sum-сумма_расхода], [Копия отделы]! [предельная норма расхода]-[SQL Запрос по отделу на общую сумму расходов]! [Sum-сумма_расхода] AS остаток

FROM [Копия отделы] INNER JOIN [SQL Запрос по отделу на общую сумму расходов] ON [Копия отделы].[Код отдела]=[SQL Запрос по отделу на общую сумму расходов].[Код отдела]

GROUP BY [Копия отделы].[Код отдела], [Копия отделы].[Название отдела], [Копия отделы].[предельная норма расхода], [SQL Запрос по отделу на общую сумму расходов].[Sum-сумма_расхода], [Копия отделы]! [предельная норма росхода]-[SQL Запрос по отделу на общую сумму расходов]! [Sum-сумма_расхода];


 

· SQL Запрос по отделу есть ли перерасход средств (запрос по отделу на перерасход средств). Оценивает остаток средств, посчитанный в SQL Запрос по отделу на остаток денежных средств и отображает есть ли перерасход средств (да/нет). А также рассчитывает размер предельной нормы средств на следующий месяц по отделу. Код запроса:

 

SELECT [Копия отделы].[Код отдела], [Копия отделы].[Название отдела], [SQL Запрос по отделам на остаток средств].остаток, IIf([SQL Запрос по отделам на остаток средств]! остаток< 0, Yes, No) AS [есть ли перерасход средств], [остаток]+[Копия отделы]! [предельная норма расхода] AS [сумма средств на следующий месяц]

FROM [Копия отделы] INNER JOIN [SQL Запрос по отделам на остаток средств] ON [Копия отделы].[Код отдела] = [SQL Запрос по отделам на остаток средств].[Код отдела]

GROUP BY [Копия отделы].[Код отдела], [Копия отделы].[Название отдела], [SQL Запрос по отделам на остаток средств].остаток, IIf([SQL Запрос по отделам на остаток средств]! остаток< 0, Yes, No), [остаток]+[Копия отделы]! [предельная норма расхода];

 

· SQL Запрос по расходом отдел (Запрос по расходам отдела (с выбором)). Вводится код интересующего одела. Выводится информация о расходах, совершенных в данном отделе. Код запроса:

 

SELECT [учёт расходов].[номер расхода], [учёт расходов].[Код расхода], [учёт расходов].[Код вида], [Запрос по общей сумме каждого расхода].[название расхода], [копия отделы].[Код отдела], [Запрос по общей сумме каждого расхода].сумма_расхода

FROM (([виды расходов] INNER JOIN [расходы подвиды] ON [виды расходов].[Код вида] = [расходы подвиды].[Код вида]) INNER JOIN ([копия отделы] INNER JOIN [учёт расходов] ON [копия отделы].[Код отдела] = [учёт расходов].[Код отдела]) ON ([виды расходов].[Код вида] = [учёт расходов].[Код вида]) AND ([расходы подвиды].[Код расхода] = [учёт расходов].[Код расхода])) INNER JOIN [Запрос по общей сумме каждого расхода] ON ([виды расходов].[Код вида] = [Запрос по общей сумме каждого расхода].[Код вида]) AND ([учёт расходов].[номер расхода] = [Запрос по общей сумме каждого расхода].[номер расхода])

WHERE ((([копия отделы].[Код отдела]) Like [введите номер отдела]));


· Запрос по сотрудникам. Даёт информацию о коде и ФИО сотрудников и о коде отдела, к которому он относится. Информация группируется по коду отдела.

 

· Запросы на расходы по сотруднику (Запросы по расходам сотрудникам, совершавшим расходы). Отображает информацию из таблиц «Сотрудники» и «Учёт расходов». Выводит данные только о сотрудниках, совершавших расходы.


 

· Запрос по должности работника (Запрос по должности работника и др. данным сотрудника (с выбором). Необходимо ввести код интересующего сотрудника. Выводит информацию о сотруднике и отделе, в котором он состоит.

 

· Запрос по общей сумме каждого расхода. Отображает информацию из таблиц «Учёт расходов» и «расходы подвиды». И подсчитывает сумму каждого расхода (произведение цены за единицу товара на количество единиц).

 

· Запрос 1. Дает информацию о виде расхода и его названии и цене за единицу.

 

· Запрос 2 (Запрос по кол-ву штук каждого расхода). Сделан на основе Запроса1. В добавление к информации из Запроса 1 отображается кол-во приобретенной продукции (если она приобреталась).


 

· Запрос для новых отделов на создание новой (промежуточной) таблицы «Отделы следующий месяц». Создает таблицу аналогичную таблице «Копия отделы», но с новым столбцом «сумма средств на следующий месяц» (из SQL Запрос по отделу есть ли перерасход средств (запрос по отделу на перерасход средств) вместо «предельной суммы средств».

 

· Запрос на обновление предельных средств. Обновляет данные в столбце «предельная норма расхода» таблицы «Копия отделы» на основе данных вспомогательной таблицы «Отделы следующий месяц».


 

· Запрос на удаление старых расходов. Удаляет расходы в пределах вводимых дат. В нашем случае предполагается, что это данные за прошедший месяц, т.е. с первого по последнее число прошедшего месяца. В данном случает удалим данные только за часть месяца.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.