select count(date_sell) as mm;
from db!tb_foto ;
where date_sell in ( ;
select tb_foto.date_sell as дата_продажи ;
from db!tb_foto ;
where tb_foto.date_sell >= Thisform.text1.value ;
and tb_foto.date_sell <= Thisform.text2.value ;
);
into cursor num
select count(*) as nn ;
from db!tb_foto ;
into cursor num_total
thisform.label1.caption=trim(str(100*(num.mm/num_total.nn))+"%")
Рис. 7.8. Форма запроса «доля фото, проданных за определённый период»
select ;
tb_model.model as модель,;
count(tb_foto.model_id) as количество ;
from db!tb_foto, db!tb_model ;
where ;
tb_foto.model_id = tb_model.dnm_id ;
and tb_foto.model_id=tb_model.dnm_id ;
group by tb_model.model ;
into cursor tt
select tt.модель as популярная_модель, ;
tt.количество;
from tt;
where tt.количество = (select max(tt.количество);
from tt)
Рис. 7.9. Результат запроса «самый популярный»
select avg(tb_foto.cost) as avr;
from db!tb_foto, db!tb_model, db!tb_country, db!tb_prod;
where ;
tb_foto.model_id=tb_model.dnm_id ;
and tb_model.producer_id = tb_prod.dnm_id ;
and tb_prod.country_id = tb_country.dnm_id ;
and tb_country.name_country = Thisform.list3.value ;
and tb_model.model = Thisform.list1.value ;
group by tb_model.model ;
into cursor aver
messagebox(str(aver.avr),"средняя стоимость фотоаппарата из страны")
select ;
tb_prod.name_prod as производитель, ;
tb_model.model as модель,;
tb_foto.cost as цена, ;
tb_distrib.name_co as поставщик ;
from db!tb_foto, db!tb_model, db!tb_prod, db!tb_distrib;
where ;
tb_foto.model_id = tb_model.dnm_id ;
and tb_model.producer_id = tb_prod.dnm_id ;
and tb_foto.distrib_id = tb_distrib.dnm_id ;
and tb_distrib.name_co = Thisform.List2.value ;
and tb_foto.cost >= aver.avr ;
Рис. 7.10. Форма запроса «заданы поставщик, цена и страна»
Рис. 7.10.1. Средняя стоимость фотоаппарата из страны
Рис. 7.10.2. Результат запроса «заданы поставщик, цена и страна»
select count(*) as v ;
from db!tb_foto ;
into cursor num_total
select count(cost) as v;
from db!tb_foto ;
where cost in ( ;
select tb_foto.cost as цена ;
from db!tb_foto, db!tb_model, db!tb_country, db!tb_prod, db!tb_distrib;
where tb_foto.cost <= int(Thisform.text1.value) ;
and tb_foto.distrib_id = tb_distrib.dnm_id ;
and tb_foto.model_id = tb_model.dnm_id ;
and tb_model.producer_id = tb_prod.dnm_id ;
and tb_prod.country_id = tb_country.dnm_id ;
and tb_distrib.name_co = thisform.list2.value ;
and tb_country.name_country = Thisform.list3.value ;
);
into cursor aver1
messagebox(str(aver1.v),"число среди выбранных")
select count(cost) as v;
from db!tb_foto ;
where cost in ( ;
select tb_foto.cost as цена ;
from db!tb_foto ;
where tb_foto.cost <= int(Thisform.text1.value) ;
);
into cursor aver2
messagebox(str(aver2.v),"число среди вообще")
messagebox("среди выбранных: "+str(100*aver1.v/num_total.v)+"%"+chr(13)+"вообще: "+str(100*aver2.v/num_total.v)+"%")
Рис. 7.11. Форма запроса «доля дешёвых, из страны или вообще»
Рис. 7.11.1. Число среди выбранных
Рис. 7.11.2. Число среди вообще
Рис. 7.11.3. Результат запроса «доля дешёвых, из страны или вообще»
select tb_foto.break ;
from db!tb_foto, db!tb_model, db!tb_country, db!tb_prod, db!tb_distrib;
where tb_foto.date_sell >= Thisform.text1.value ;
and tb_foto.date_sell <= Thisform.text2.value ;
and tb_foto.distrib_id = tb_distrib.dnm_id ;
and tb_foto.model_id = tb_model.dnm_id ;
and tb_model.producer_id = tb_prod.dnm_id ;
and tb_prod.country_id = tb_country.dnm_id ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.