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

Создание запросов.

Читайте также:
  1. Ввод исходных графических данных в персональный компьютер. Создание компьютерной геометрической модели объекта
  2. Воссоздание земных поселений
  3. Воссоздание земных поселений.
  4. Воссоздание обстановок осадочного палеобассейна
  5. Групповые процессы. Создание команд и управление ими
  6. Журналистика одновременно и коллективна (редакция ), и индивидуальна (создание текста)
  7. Задание 2. Создание ассоциативных композиционных структур

Необходимо создать следующие запросы:

 

  1. Какие поставки получаем в феврале текущего года?

 

  1. Кто поставлял товар в феврале?

 

  1. Какие товары поставлялись в феврале, с указанием, сколько было поставок и какое суммарное количество товара было поставлено.

 

  1. Кому мы задолжали > 10000?

 

  1. Сколько товаров (позиций номенклатуры) поставил каждый поставщик?

 

  1. Кому из поставщиков мы задолжали больше всего?

 

  1. По каждому товару найти клиента, который данного товара купил больше всех за февраль.

 

  1. По каждому товару подсчитать количество причин, по которым он списывался в феврале.

 

  1. Предполагая, что поставка должна быть оплачена не позднее двух недель после получения товара, составить график предстоящих платежей.

 

  1. По какой причине фирма понесла наибольшие убытки в феврале?

 

  1. Кто из поставщиков поставляет товары партиями не менее, чем на 10000 рублей?

 

  1. Кто из клиентов закупал наиболее разнообразную номенклатуру товаров в феврале?

 

Рассмотрим создание каждого из запросов:

 

 

1. Какие поставки получаем в феврале текущего года?

Введем:

select t_name,data_post,cena_post,kol_post into zapros_1 from postavka join tovar on (postavka.tovar_id=tovar.id_tovar)

where (data_post>'01.31.2008') and (data_post<'03.01.2008')

select * from zapros_1

 

Нажимаем «Выполнить» и получаем:

 

 

2. Кто поставлял товар в феврале?

Введем:

select distinct p_name into zapros_2 from postavka join postavschic on (postavka.post_id=postavschic.id_post)

where data_post>'01.31.2008' and data_post>'03.01.2008'

select * from zapros_2

Нажимаем «Выполнить» и получаем:

 

 

3. Какие товары поставлялись в феврале, с указанием, сколько было поставок и какое суммарное количество товара было поставлено.

Введем:

 

select t_name, count(id_part) as kol_post,sum(kol_post) as vsego into zapros_3 from postavka join tovar on (postavka.tovar_id=tovar.id_tovar)

where data_post>'01.31.2008' and data_post>'03.01.2008'

group by t_name

select * from zapros_3

Нажимаем «Выполнить» и получаем:

 

4. Кому мы задолжали > 10000?

Введем:

 

select p_name, sum(kol_post*cena_post) as dolg into zapros_4 from postavka join postavschic on (postavka.post_id=postavschic.id_post)

where data_opl is null

group by p_name

having sum(kol_post*cena_post)>10000

select * from zapros_4

Нажимаем «Выполнить» и получаем:

 

5. Сколько товаров (позиций номенклатуры) поставил каждый поставщик?

Введем:

 

select p_name, count(id_tovar) as razl_tov into zapros_5 from (postavka join postavschic on (postavka.post_id=postavschic.id_post)) join tovar on (tovar.id_tovar=postavka.tovar_id)

group by p_name

select * from zapros_5

Нажимаем «Выполнить» и получаем:

 

6. Кому из поставщиков мы задолжали больше всего?

Введем:

 

select p_name, sum(kol_post*cena_post) as dolg into zapros_6_1 from postavka join postavschic on (postavka.post_id=postavschic.id_post)

where data_opl is null

group by p_name

select max(dolg) as maxi into zapros_6_2 from zapros_6_1

select p_name into zapros_6 from zapros_6_1 join zapros_6_2 on (zapros_6_1.dolg=zapros_6_2.maxi)

select * from zapros_6

Нажимаем «Выполнить» и получаем:

 

7. По каждому товару найти клиента, который данного товара купил больше всех за февраль.

Введем:

 

select t_name,c_name, sum(kol_otgr) as kol into zapros_7_1 from ((otgruzka join client on (otgruzka.id_client=client.id_client)) join postavka on (postavka.id_part=otgruzka.id_part)) join tovar on (postavka.tovar_id=tovar.id_tovar)

where (data_otgr>'01.31.2008') and (data_otgr<'03.01.2008')

group by t_name,c_name

select t_name, max(kol) as maxi into zapros_7_2 from zapros_7_1

group by t_name

select zapros_7_1.t_name,c_name into zapros_7 from zapros_7_1 join zapros_7_2 on (zapros_7_1.kol=zapros_7_2.maxi and zapros_7_1.t_name=zapros_7_2.t_name) order by t_name

select * from zapros_7

Нажимаем «Выполнить» и получаем:

 

 

8. По каждому товару подсчитать количество причин, по которым он списывался в феврале.

Введем:

 

select distinct t_name, prich_spis into zapros_8_1 from (postavka join tovar on (postavka.tovar_id=tovar.id_tovar)) join spisanie on (postavka.id_part=spisanie.id_part)

where (data_spis>'01.31.2008') and (data_spis<'03.01.2008')

select t_name, count(prich_spis) as razl into zapros_8 from zapros_8_1

group by t_name

select * from zapros_8

 

Нажимаем «Выполнить» и получаем:

 

9. Предполагая, что поставка должна быть оплачена не позднее двух недель после получения товара, составить график предстоящих платежей.

Введем:

 

select p_name, (data_post+14) as data_platezha, (kol_post*cena_post) as platezh into zapros_9 from postavschic join postavka on (postavschic.id_post=postavka.post_id)

where data_opl is null

order by data_platezha

select * from zapros_9

Нажимаем «Выполнить» и получаем:

 

10. По какой причине фирма понесла наибольшие убытки в феврале?

Введем:

 

select prich_spis, sum(kol_spis*t_cena) as summa into zapros_10_1 from (spisanie join postavka on (spisanie.id_part=postavka.id_part)) join tovar on (postavka.tovar_id=tovar.id_tovar)

where (data_spis>'01.31.2008') and (data_spis<'03.01.2008')

group by prich_spis

select max(summa) as maxi into zapros_10_2 from zapros_10_1

select prich_spis, maxi into zapros_10 from zapros_10_1 join zapros_10_2 on (zapros_10_1.summa=zapros_10_2.maxi)

select * from zapros_10

Нажимаем «Выполнить» и получаем:

 

11. Кто из поставщиков поставляет товары партиями не менее, чем на 10000 рублей?

Введем:

 

select p_name, min(kol_post*cena_post) as summa into zapros_11 from postavka join postavschic on (postavka.post_id=postavschic.id_post)

group by p_name

having min(kol_post*cena_post)>=10000

select p_name from zapros_11

Нажимаем «Выполнить» и получаем:

 

12. Кто из клиентов закупал наиболее разнообразную номенклатуру товаров в феврале?

Введем:

 

select c_name, count(t_name) as kol into zapros_12_1 from ((otgruzka join client on (otgruzka.id_client=client.id_client)) join postavka on (postavka.id_part=otgruzka.id_part)) join tovar on (postavka.tovar_id=tovar.id_tovar)

where (data_otgr>'01.31.2008') and (data_otgr<'03.01.2008')

group by c_name

select * from zapros_12_1

Нажимаем «Выполнить» и получаем:

 



Дата добавления: 2015-07-08; просмотров: 322 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Создание и заполнение базы данных.| Процедуры

mybiblioteka.su - 2015-2024 год. (0.013 сек.)