Создание базы данных "Обувь" (программирование в среде FoxPro), страница 3

·  по стоимости

·  по дате продажи

Сортировка в алфавитном порядке по поставщику:

Текст запроса:

select обувь.id,vid_обуви.vid,поставщик.post,обувь.cena,страна.strana,;

обувь.data_prod,обувь.brak;

from обувь inner join vid_обуви;

on обувь.id_vid=vid_обуви.id;

inner join поставщик;

on обувь.id_post=поставщик.id;

inner join страна;

on обувь.id_strana=страна.id;

where vid_обуви.vid=thisform.pageframe1.page2.combo1.value;

group by поставщик.post

  1.  Найти самый дорогой вид обуви, самый дешовый, среднюю стоимость по каждому виду и в целом.

Текстзапроса:

select avg(cena),vid_обуви.vid;

from обувь inner join vid_обуви ;

on обувь.id_vid=vid_обуви.id

     4.  Найти обувь с ценой в заданных пределах (предусмотреть ввод цены с                 клавиатуры) по каждому виду в целом.

Текст запроса:

select vid_обуви.vid, обувь.cena;

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

where обувь.cena between thisform.pageframe1.page4.spinner1.value;

and thisform.pageframe1.page4.spinner2.value;

  1.  Найти всю обувь заданного производителя.

Текст запроса:

select vid_обуви.vid;

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

inner join страна;

on обувь.id_strana=страна.id;

where страна.strana=thisform.pageframe1.page5.combo1.value;

  1. Найти всю обувь с заданной датой продажи (ввод даты) для заданной страны.

Текстзапроса:

select vid_обуви.vid;

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

inner join страна;

on обувь.id_strana=страна.id;

where страна.strana=thisform.pageframe1.page6.combo1.value;

and обувь.data_prod=thisform.pageframe1.page6.text1.value;

  1. Найти всю обувь, предназначенную для заданного сезона (ввод), чья стоимость находится в заданных пределах (ввод интервала).

Текст запроса:

select vid_обуви.vid;

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

inner join поставщик;

on обувь.id_post=поставщик.id;

inner join сезон;

on обувь.id_sezon=сезон.id;

where сезон.sezon=thisform.pageframe1.page7.combo1.value;

and обувь.cena between thisform.pageframe1.page7.spinner1.value;

and thisform.pageframe1.page7.spinner2.value;

  1. Найти долю обуви, проданной за определённый период (ввод периода), от общего числа проданной обуви.

Текстзапроса:

dimension out1(1)

select count(vid_обуви.vid);

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

into array out1

dimension out2(1)

select count(vid_обуви.vid);

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

WHERE month(Обувь.data_prod) between thisform.pageframe1.page8.spinner1.value;

and thisform.pageframe1.page8.spinner2.value;

into array out2

cMessageTitle='Результат запроса'

cMessageText = 'Доля заданной обуви, проданной с   '+ str(thisform.pageframe1.page8.spinner1.value,2)+;

'   месяца по ' + str(thisform.pageframe1.page8.spinner2.value,2)  + '  месяц составляет '+;

STR(out2[1]/out1[1]*100) + "%"

MessageBox (cMessageText,cMessageTitle)

  1. Найти всю обувь, поступившую от заданного поставщика (ввод поставщика),чья стоимость больше заданной (ввод интервала).

Текст запроса:

select vid_обуви.vid;

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

inner join поставщик;

on обувь.id_post=поставщик.id;

where поставщик.post=thisform.pageframe1.page9.combo1.value;

and обувь.cena>thisform.pageframe1.page9.spinner1.value;

10.  Найти долю дешевого товара (меньше заданного, ввод ограничения) от общего числа товара.

Текстзапроса:

dimension out1(1)

select count(vid_обуви.vid);

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

into array out1

dimension out2(1)

select count(vid_обуви.vid);

from vid_обуви inner join обувь;

on vid_обуви.id=обувь.id_vid;

WHERE Обувь.cena<thisform.pageframe1.page10.spinner1.value;

into array out2

cMessageTitle='Результат'

cMessageText='Доля дешевой обуви составляет'+str(out2[1]/out1[1]*100)+'%'

MessageBox(cMessageText,cMessageTitle)

Список использованных источников

1 Базиян Менахем и др. Использование Visual FoxPro 6. Специальное издание: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 928с.: ил.

2 Ефимова О., Морозов В., Угринович Н. Курс компьютерной технологии с основами информатики. – М.: ООО «Издательство АСТ»; ABF, 2000. – 432 с.: ил.

3  Каратыгин С., Тихонов А., Тихонова Л. Visual FoxPro 6.0. Полное руководство с примерами. – М.: БИНОМ, 1999. – 784с.

4 Клишевич А.М. Автоматизированное рабочее место: Учебное пособие.          Красноярский гос. ун-т. Красноярск, 1997. – 84с.: ил. 

5 Попов А.А. Создание приложений для FoxPro 2.5/2.6 в DOS и Windows. – М.: Издательство «Калашников и К», 1997. – 600с.: ил.