Программирование в среде VisualFoxPro. Создание базы данных «Мебель», страница 3

              SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

              Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

              Product.количество;

              FROM  mebel!postav INNER JOIN mebel!product;

              INNER JOIN mebel!vid ;

              ON  Vid.id = Product.id_vid ;

              ON  Postav.id = Product.id_postav;

              where (vid.id = val(thisform.Combo1.value));

              ORDER BY Product.вес

case thisform.optiongroup1.option5.value = 1

              SELECT Product.наименован, Vid.вид_мебели, Postav.поставщик,;

              Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

              Product.количество;

              FROM  mebel!postav INNER JOIN mebel!product;

              INNER JOIN mebel!vid ;

              ON  Vid.id = Product.id_vid ;

              ON  Postav.id = Product.id_postav;

              where (vid.id = val(thisform.Combo1.value));

              ORDER BY Product.цена

endcase

Рис.13. Форма для вывода отсортированного списка.

Рис.14. Результат выполнения запроса (вид: кухня, сортировка по цене).

Найти самый дорогой вид мебели, самый дешевый, среднюю стоимость по каждому виду и в целом (рис. 15-16):

Рис.15. Форма для запроса.

Код метода Click кнопки «Показать» в целом:

do case

case thisform.optiongroup1.option1.value = 1

              select vid.вид_мебели as "ВИД", max (product.цена);

              from mebel!product;

              inner join mebel!vid on product.id_vid = vid.id;

              where (product.цена = (select max (product.цена) from mebel!product))

case thisform.optiongroup1.option2.value = 1

              select vid.вид_мебели as "ВИД", min (product.цена);

              from mebel!product;

              inner join mebel!vid on product.id_vid = vid.id;

              where (product.цена = (select min (product.цена) from mebel!product))

case thisform.optiongroup1.option3.value = 1

              select avg(product.цена);

              from mebel!product

endcase

Код метода Click кнопки «Показать» по виду:

select vid.вид_мебели, avg(product.цена);

from mebel!product;

inner join mebel!vid on vid.id = product.id_vid;

where (vid.id = val(thisform.Combo1.value))

                                                        

Рис.16. Средняя стоимость в целом.                                                      Рис.17. Самый дорогой вид.

                       

Рис.18. Самый дешевый вид.                                                           Рис.19. Средняя стоимость по виду столы.

Найти мебель с ценой в заданных пределах (рис.20, 21):

Код метода Click кнопки «Показать»:

SELECT product.наименован AS "Наименование", product.цена, vid.вид_мебели;

FROM  mebel!product;

INNER JOIN mebel!vid ON product.id_vid = vid.id;

WHERE product.цена >= thisform.text1.value;

AND product.цена <= thisform.text2.value;

ORDER BY product.цена

Рис.20. Форма для поиска изделий с ценой выше заданной.

Рис.21. Вывод изделий с ценой от 10 000р до 20 000р.

Найти всю мебель заданного производителя (рис.24, 25):

Код запроса:

SELECT Product.наименован, Vid.вид_мебели, Strana.страна,;

Product.дата_выпус, Product.дата_прода, Product.цена, Product.вес,;

Product.количество;

FROM  mebel!strana INNER JOIN mebel!product;

INNER JOIN mebel!vid ;

ON  Vid.id = Product.id_vid ;

ON  Strana.id = Product.id_strana;

where (Strana.id = val(thisform.Combo1.value));

ORDER BY Product.наименован

Рис.22. Форма для поиска изделий заданного производителя.