count1 = 0
SELECT count(anticvariat.íàèìåíîâàíèå );
FROM myrgr!anticvariat;
WHERE anticvariat.äàòà_ïðîäàæè_ôèðìîé BETWEEN thisform.pageframe1.page4.text1.value AND thisform.pageframe1.page4.text2.value;
INTO ARRAY count1
SELECT count(anticvariat.íàèìåíîâàíèå);
FROM myrgr!anticvariat;
INTO ARRAY count2;
result = count1/count2*100
thisform.pageframe1.page4.text3.value = count1
thisform.pageframe1.page4.text4.value = count2
thisform.pageframe1.page4.text5.value = ALLTRIM(STR(result))+"%"
Рис.25 Результат запроса.
7) Найти все антиквариаты поступившие от заданного продавца, чья стоимость больше, чем средняя стоимость заданного типа антиквариата, произведенного в заданной стране.
Код запроса:
SELECT AVG(anticvariat.цена_руб);
FROM myrgr!anticvariat;
WHERE anticvariat.id_тип_антиквариата ==;
(SELECT id_тип_антиквариата FROM myrgr!type_anticvariata;
WHERE тип_антиквариата = this.parent.ComboTypeAntic.value);
AND место_издания = this.parent.Combo2.value;
INTO CURSOR cur4
SELECT type_anticvariata.тип_антиквариата, anticvariat.наименование, anticvariat.цена_руб, anticvariat.место_издания,;
anticvariat.id_продавца;
FROM myrgr!anticvariat INNER JOIN myrgr!type_anticvariata;
ON anticvariat.id_тип_антиквариата = type_anticvariata.id_тип_антиквариата;
WHERE id_продавца == (SELECT id_продавца FROM myrgr!seller;
WHERE фамилия_продавца == thisform.pageframe1.page4.combo1.value);
AND цена_руб > cur4.AVG_цена_руб;
ORDER BY наименование;
INTO CURSOR cur5
SELECT cur5.тип_антиквариата, cur5.наименование, cur5.цена_руб, cur5.место_издания, seller.фамилия_продавца;
FROM cur5 INNER JOIN myrgr!seller;
ON cur5.id_продавца = seller.id_продавца
Рис.26 Запрос седьмой.
Рис.27 Результат запроса.
8) Найти долю дешёвых антиквариатов, чья стоимость меньше заданной, поступившего от заданного продавца и в целом.
Код запроса:
SELECT anticvariat.наименование, anticvariat.цена_руб, anticvariat.id_тип_антиквариата,;
seller.фамилия_продавца;
FROM myrgr!anticvariat INNER JOIN myrgr!seller;
ON anticvariat.id_продавца = seller.id_продавца;
WHERE цена_руб < thisform.pageframe1.page4.text7.value;
INTO CURSOR cur6
SELECT type_anticvariata.Тип_антиквариата, cur6.Наименование, cur6.Цена_руб;
FROM myrgr!type_anticvariata INNER JOIN cur6;
ON type_anticvariata.id_тип_антиквариата = cur6.id_тип_антиквариата;
ORDER BY цена_руб
Код подсчета доли антиквариатов (см. рис.28).
LOCAL count1[1]
LOCAL count2[1]
LOCAL count3[1]
LOCAL count4[1]
count1 = 0
SELECT count(anticvariat.наименование );
FROM myrgr!anticvariat;
WHERE anticvariat.цена_руб < thisform.pageframe1.page4.text7.value;
AND id_продавца ==;
(SELECT id_продавца FROM myrgr!seller;
WHERE фамилия_продавца == thisform.pageframe1.page4.combo3.value);
INTO ARRAY count1
SELECT count(anticvariat.наименование);
FROM myrgr!anticvariat;
WHERE id_продавца ==;
(SELECT id_продавца FROM myrgr!seller;
WHERE фамилия_продавца == thisform.pageframe1.page4.combo3.value);
INTO ARRAY count2;
SELECT count(anticvariat.наименование);
FROM myrgr!anticvariat;
WHERE цена_руб < thisform.pageframe1.page4.text7.value;
INTO ARRAY count3;
SELECT count(anticvariat.наименование);
FROM myrgr!anticvariat;
WHERE цена_руб < (SELECT MAX(цена_руб);
FROM myrgr!anticvariat);
INTO ARRAY count4;
result1 = count1/count2*100
result2 = count3/count4*100
thisform.pageframe1.page4.text8.value = count1
thisform.pageframe1.page4.text9.value = count2
thisform.pageframe1.page4.text10.value = ALLTRIM(STR(result1))+"%"
thisform.pageframe1.page4.text11.value = count3
thisform.pageframe1.page4.text12.value = count4
thisform.pageframe1.page4.text13.value = ALLTRIM(STR(result2))+"%"
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.