Текст запроса для всех игрушек в целом
SELECT Toysinfo.toyname, Toysinfo.weight;
FROM ;
toys!toysinfo;
WHERE Toysinfo.weight BETWEEN thisform.Text1.value AND thisform.Text2.value
Пример работы
Введем пределы веса от 200 до 400 и выберем производителя "Essa":
Рис. 9.8. Окно запроса №8.
Результат запроса для выбранного производителя:
Результат запроса для всех игрушек в целом:
Запрос 9: Найти долю игрушек, проданных за определенный период от общего времени продажи.
Текст запроса
DIMENSION a(1)
DIMENSION b(1)
SELECT COUNT(Sales.salenum);
FROM ;
toys!sales;
WHERE Sales.saledate BETWEEN Forquery09.Text1.value AND Forquery09.Text2.value INTO ARRAY a
SELECT COUNT(Sales.salenum);
FROM ;
toys!sales INTO ARRAY b
if MESSAGEBOX ("Доля игрушек, проданных в заданный период: "+STR(a*100/b)+" %", 0+64+0, "Доля")=1
ELSE
ENDIF
Пример работы
Введем период с 1 февраля по 1 апреля 2007:
Рис. 9.9. Окно запроса №9.
Результат запроса:
Запрос 10: Найти самый популярный вид игрушки (продано наибольшее количество) для заданного возраста и в целом.
Текст запроса для заданного возраста
DIMENSION a(50,2)
SELECT Toysinfo.toyname, COUNT(Sales.saledate);
FROM ;
toys!toysinfo ;
INNER JOIN toys!sales ;
ON Toysinfo.toyid = Sales.toyid;
WHERE Toysinfo.forage = thisform.Text1.Value;
GROUP BY Toysinfo.toyname INTO ARRAY a
ASORT(a,2,-1,1)
if MESSAGEBOX ("Самая популярная игрушка: "+a(1), 0+64+0, "Популярная")=1
ELSE
ENDIF
Текст запроса для всех игрушек в целом
DIMENSION a(50,2)
SELECT Toysinfo.toyname, COUNT(Sales.saledate);
FROM ;
toys!toysinfo ;
INNER JOIN toys!sales ;
ON Toysinfo.toyid = Sales.toyid;
GROUP BY Toysinfo.toyname INTO ARRAY a
ASORT(a,2,-1,1)
if MESSAGEBOX ("Самая популярная игрушка: "+a(1), 0+64+0, "Популярная")=1
ELSE
ENDIF
Пример работы
Введем возраст равным 7:
Рис. 9.10. Окно запроса №10.
Результат запроса для заданного возраста:
Результат запроса для всех игрушек в целом:
Запрос 11: Найти все игрушки, поступившие от заданного поставщика, чья стоимость больше, чем стоимость заданной игрушки, поступившей из заданной страны.
Текст запроса
SELECT Toysinfo.toyname;
FROM ;
toys!suppliers ;
INNER JOIN toys!toysinfo ;
ON Suppliers.supplierid = Toysinfo.supplierid;
WHERE Suppliers.supplier = thisform.Combo1.value;
AND Toysinfo.price > (SELECT Toysinfo.price FROM toys!suppliers INNER JOIN toys!toysinfo ON Suppliers.supplierid = Toysinfo.supplierid WHERE Toysinfo.toyname = thisform.Text1.value AND Suppliers.country = thisform.Text2.value)
Пример работы
Выберем производителя "Lego" и введем в качестве заданной игрушки "Космодром" из Польши:
Рис. 9.11. Окно запроса №11.
Результат запроса:
Запрос 12: Найти долю дешевых игрушек (чья стоимость меньше заданной), поступивших от заданного поставщика и в целом.
Текст запроса для заданного поставщика
DIMENSION a(1)
DIMENSION b(1)
SELECT COUNT(Toysinfo.toyid);
FROM ;
toys!suppliers ;
INNER JOIN toys!toysinfo ;
ON Suppliers.supplierid = Toysinfo.supplierid;
WHERE Toysinfo.price < thisform.Text1.value;
AND Suppliers.supplier = thisform.Combo1.value INTO ARRAY a
SELECT COUNT(Toysinfo.toyid);
FROM ;
toys!suppliers ;
INNER JOIN toys!toysinfo ;
ON Suppliers.supplierid = Toysinfo.supplierid;
WHERE Suppliers.supplier = thisform.Combo1.value INTO ARRAY b
if MESSAGEBOX ("Доля дешёвых игрушек: "+STR(a*100/b)+" %", 0+64+0, "Доля")=1
ELSE
ENDIF
Текст запроса для всех игрушек в целом
DIMENSION a(1)
DIMENSION b(1)
SELECT COUNT(Toysinfo.toyid);
FROM ;
toys!toysinfo ;
WHERE Toysinfo.price < thisform.Text1.value INTO ARRAY a
SELECT COUNT(Toysinfo.toyid);
FROM ;
toys!toysinfo ;
WHERE Toysinfo.price > 0 INTO ARRAY b
if MESSAGEBOX ("Доля дешёвых игрушек: "+STR(a*100/b)+" %", 0+64+0, "Доля")=1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.