AND MONTH(pro.data_prodaghi) in (1,2,3);
and YEAR(pro.data_prodaghi) = thisform.Text1.value;
into cursor tmp
select count(tmp.товар) ;
from tmp ;
into array arr
thisform.Text2.value=str(arr(1))
ENDIF
Для выполнения этого задания с другими периодами используются практически такие же запросы, за исключением выбора месяцев и оператора if, в котором условие будет соответственно
if thisform.Optiongroup1.Option2.Value=1 && за 2ой квартал
if thisform.Optiongroup1.Option3.Value=1 && за 3ий квартал
if thisform.Optiongroup1.Option4.Value=1 && за 4ый квартал
if thisform.Optiongroup1.Option5.Value=1 && за год
Рис. 17. Результат работы запроса 5
Найти товары, поставляемые заданным поставщиком, чья дата продажи находится в заданных пределах.
Рис. 18. Форма для выполнения шестого задания
Текст запроса:
CLOSE TABLES
select ;
pos.psevdonim as поставщик,;
tip.tip as тип,;
pro.Naimenovanie as товар,;
pro.data_prodaghi as дата_продажи;
from "G:\bd\irkrgr\irgr\pro.dbf",;
"G:\bd\irkrgr\irgr\pos.dbf",;
"G:\bd\irkrgr\irgr\tip.dbf";
where pro.id_tip = tip.id_t;
AND pro.id_postav = pos.id_pos;
AND pos.psevdonim = thisform.Combo1.DisplayValue;
AND pro.data_prodaghi => CTOD(thisform.Text2.value);
AND pro.data_prodaghi <= CTOD(thisform.Text3.value)
Рис. 19. Результат работы запроса 6
Найти товар для заданного места выпуска, чья стоимость находится в заданных пределах.
Рис. 20. Форма для выполнения седьмого задания
Текст запроса:
SELECT ;
tip.tip as тип,;
pro.naimenovanie as товар,;
stran.strana as место_выпуска,;
pro.cena as цена;
FROM ;
pro,tip,stran;
WHERE ;
pro.id_tip = tip.id_t;
AND pro.id_stra = stran.id_stran;
AND stran.strana = thisform.Combo1.Value;
AND pro.cena => VAL(thisform.Text1.Value);
AND pro.cena <= VAL(thisform.Text2.Value)
Рис. 21. Результат работы запроса 7
Найти долю антиквариата, проданного за определенный период от общего времени продажи.
Рис. 22. Форма для выполнения восьмого задания
Текст запроса:
select count(pro.naimenovanie) as prodan;
from pro,tip;
where pro.id_tip = tip.id_t;
AND pro.data_prodaghi => CTOD(thisform.Text1.Value);
AND pro.data_prodaghi <= CTOD(thisform.Text2.Value);
into cursor vrem
select count(pro.naimenovanie) as vse;
from pro;
into cursor vrem2
thisform.Text3.value=(STR(100*(vrem.prodan/vrem2.vse))+"%")
Рис. 23. Результат работы запроса 8
Найти весь товар, поступивший от заданного поставщика, чья стоимость больше, чем средняя стоимость заданного товара, поступившего из заданной страны.
Рис. 24. Форма для выполнения девятого задания
Текст запроса:
SELECT tip.tip as тип,;
pro.naimenovanie as товар,;
pos.psevdonim as поставщик,;
stran.strana as страна,;
pro.cena as стоимость;
FROM tip,pro,pos,stran;
WHERE ;
tip.id_t = pro.id_tip;
AND pro.id_postav = pos.id_pos;
AND pro.id_stra = stran.id_stran;
AND pos.psevdonim = thisform.Combo1.Value;
AND stran.strana = thisform.Combo3.Value;
AND pro.cena =>(;
SELECT AVG(pro.cena);
FROM pro,tip;
WHERE pro.id_tip = tip.id_t;
AND tip.tip = thisform.Combo2.Value)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.