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

Сортировка по дате продажи:

select DISTINCT igrushki.nazvanie as Название,;

       igrushki.data_prodagi as Дата_продажи;

from igrushki;

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

where tip.name_tip=ThisForm.Combo1.Value;

order by igrushki.data_prodagi;

Самый дорогой вид игрушек

LOCAL cntpost(5)

LOCAL temp

use igrushki in 2

use  tip in 1

select 1

do while (!EOF())

             temp=tip.id 

             cntpost=0

             select 2

    SELECT avg(igrushki.stoimost);

    FROM my!igrushki;

    WHERE igrushki.tip=temp;

    INTO ARRAY cntpost

Update tip;  

Set avg_cost=cntpost;

Where tip.id=temp

select 1

skip 1

enddo

close databases

SELECT tip.name_tip as Тип_товара, tip.avg_cost as MAX_средняя_стоимость;

FROM my!tip;

WHERE tip.avg_cost == (select max(tip.avg_cost) FROM my!tip)

Самый дешевый вид игрушек:

LOCAL cntpost(5)

LOCAL temp

use igrushki in 2

use  tip in 1

select 1

do while (!EOF())

             temp=tip.id 

             cntpost=0

             select 2

    SELECT avg(igrushki.stoimost);

    FROM my!igrushki;

    WHERE igrushki.tip=temp;

    INTO ARRAY cntpost

Update tip;  

Set avg_cost=cntpost;

Where tip.id=temp

select 1

skip 1

enddo

close databases

SELECT tip.name_tip as Тип_товара, tip.avg_cost as MIN_средняя_стоимость;

FROM my!tip;

WHERE tip.avg_cost == (select min(tip.avg_cost) FROM my!tip)

Средняя стоимость(в целом):

select avg(igruhki.stoimost) as Средняя_стоимость from igruhki;

Средняя стоимость по типу «Куклы»:

select avg(igrushki.stoimost) as Средняя_стоимость_по_куклам;

from igrushki;

where  tip=1

Средняя стоимость по типу «Машинки»:

select avg(igrushki.stoimost) as Средняя_стоимость_по_машинкам;

from igrushki;

where  tip=2

Средняя стоимость по типу «Погремушки»:

select avg(igrushki.stoimost) as Средняя_стоимость_по_погремушкам;

from igrushki;

where  tip=3

Средняя стоимость по типу «Транспорт»:

select avg(igrushki.stoimost) as Средняя_стоимость_по_куклам;

from igrushki;

where  tip=4

Средняя стоимость по типу «Электронные игрушки»:

select avg(igrushki.stoimost) as Средняя_стоимость_по_куклам;

from igrushki;

where  tip=5

Поиск игрушек с ценой в заданных пределах:

if ThisForm.optiongroup1.option1.value=1

ThisForm.combo1.enabled=1

Endif

if ThisForm.optiongroup1.option2.value=1

ThisForm.combo1.enabled=0

Endif

if thisform.optiongroup1.option1.value=1

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

from my!igrushki inner join my!tip;

on  igrushki.tip==tip.id;

where igrushki.stoimost between ThisForm.Text1.Value and ThisForm.Text2.Value AND;

igrushki.tip=(select tip.id FROM my!tip WHERE tip.name_tip=thisform.combo1.value);

ORDER BY igrushki.stoimost

else

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

from my!igrushki;

where igrushki.stoimost between ThisForm.Text1.Value and ThisForm.Text2.Value;

ORDER BY igrushki.stoimost

endif

Игрушки заданного производителя:

select igrushki.nazvanie as название,;

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

 from igrushki;

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

 where postavshik.name_postavshik=ThisForm.Combo1.Value;

Доля дешевых игрушек от общего числа:

LOCAL temp1(1)

LOCAL temp2(1)

use my!igrushki

temp=RECCOUNT()

if thisform.optiongroup1.option1.value == 1

SELECT count(igrushki.nazvanie);

FROM my!igrushki;

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

thisform.Text2.value >= igrushki.Age_low AND thisform.Text2.value <= igrushki.Age_high;

INTO ARRAY temp1

SELECT count(igrushki.nazvanie);

FROM my!igrushki;

WHERE  thisform.Text2.value >= igrushki.Age_low AND thisform.Text2.value <= igrushki.Age_high;

INTO ARRAY temp2

SELECT igrushki.nazvanie, igrushki.age_low as Нижний_предел_возраста,;

               igrushki.age_high as Верхний_предел_возраста, igrushki.stoimost as Цена;         

FROM my!igrushki;