Создание и заполнение базы данных “Игрушки”, страница 5

endif

MessageBox("Цена выбранной игрушки: " + alltrim(str(num)))

select igrushki.nazvanie as Игрушки, igrushki.stoimost as Цена,;

                        postavshik.name_postavshik as Поставщик;

from my!igrushki inner join my!postavshik;

on  igrushki.postavshik==postavshik.id;

where igrushki.postavshik == (select postavshik.id FROM my!postavshik WHERE postavshik.name_postavshik=thisform.combo1.value) AND;

igrushki.stoimost > num;

ORDER BY igrushki.stoimost

Доля дешевых игрушек, поступивших от заданного поставщика

LOCAL temp1(1)

use my!igrushki

temp=RECCOUNT()

if thisform.optiongroup1.option1.value == 1

SELECT count(igrushki.nazvanie);

FROM my!igrushki inner join my!postavshik;

on  igrushki.postavshik==postavshik.id;

WHERE  igrushki.stoimost <= thisform.text1.value AND;

 igrushki.postavshik==(select postavshik.id FROM my!postavshik WHERE postavshik.name_postavshik=thisform.combo1.value);

INTO ARRAY temp1

SELECT igrushki.nazvanie, igrushki.stoimost as Цена;    

FROM my!igrushki;

WHERE  igrushki.stoimost <= thisform.text1.value AND;

 igrushki.postavshik==(select postavshik.id FROM my!postavshik WHERE postavshik.name_postavshik=thisform.combo1.value);

ORDER BY  igrushki.stoimost

result=temp1/temp*100

MessageBox("Доля дешевых игрушек: " + alltrim(str(result))+" %")

else

SELECT count(igrushki.nazvanie);

FROM my!igrushki;

WHERE  igrushki.stoimost <= thisform.text1.value;

INTO ARRAY temp1;

SELECT igrushki.nazvanie as Название, igrushki.stoimost as Цена;

FROM my!igrushki;

WHERE  igrushki.stoimost <= thisform.text1.value;

ORDER BY  igrushki.stoimost

result=temp1/temp*100

MessageBox("Доля дешевых игрушек: " + alltrim(str(result))+" %")

endif

close database

Доля игрушек , проданных за определенный промежуток времени

LOCAL temp(1)

select 1

num1 = RECCOUNT()

date1=thisform.text1.value

IF thisform.check1.value == 1

date2=date()

else

date2=thisform.text2.value

endif

SELECT avg(igrushki.stoimost);

FROM  my!igrushki;

WHERE igrushki.data_prodagi between date1 AND date2;

INTO ARRAY temp

SELECT igrushki.nazvanie as Название, igrushki.data_vipuska as Дата_выпуска,;

               igrushki.data_prodagi as Дата_продажи, igrushki.stoimost as Стоимость, igrushki.koll_prod as Количество_проданных_игрушек;

FROM  my!igrushki;

WHERE igrushki.data_prodagi between date1 AND date2;

ORDER BY igrushki.data_prodagi

MessageBox("Средняя стоимость: "+ alltrim(str(temp))+" р.")

Игрушки со стоимостью выше чем средняя стоимость игрушек заданного производителя

LOCAL temp(1)

LOCAL temp1(1)

select Distinct(igrushki.postavshik);

from my!igrushki;

where igrushki.postavshik == (select postavshik.id FROM my!postavshik WHERE postavshik.name_postavshik=thisform.combo1.value);

Into array temp

select avg(igrushki.stoimost);

FROM my!igrushki WHERE igrushki.postavshik=temp;

INTO ARRAY temp1

MessageBox("Средняя стоимость игрушки: " + alltrim(str(temp1)))

select igrushki.nazvanie as Игрушки, igrushki.stoimost as Цена,;

                        postavshik.name_postavshik as Поставщик;

from my!igrushki inner join my!postavshik;

on  igrushki.postavshik==postavshik.id;

where igrushki.stoimost >= temp1;

ORDER BY igrushki.stoimost

Игрушка, которую лучше всего раскупают:

select igrushki.nazvanie as название, igrushki.stoimost as Цена,igrushki.koll_prod as Количество_проданных,;

                        igrushki.data_vipuska as Дата_выпуска, igrushki.data_prodagi as Дата_продажи,;

        postavshik.name_postavshik as производитель;

 from my!igrushki;

 full join postavshik on igrushki.postavshik=postavshik.id;

where igrushki.koll_prod=(select max(igrushki.koll_prod) FROM my!igrushki)


 Заключение

Была освоена  в достаточном объеме система управления базами данных Microsoft Visual FoxPro 6.0, получены навыки по созданию баз данных и приложений.