Программирование в среде FoxPro. Создание базы данных "Антиквариат", страница 2

      select pro.pokupatel as клиент,;

                  tip.tip as тип,;

                  pro.naimenovanie as товар,;             

                  pro.Data_prodaghi as приобретен,;

                  pro.cena as цена;            

      from pro,tip;

      where pro.id_tip = tip.id_t and tip.tip = thisform.combo1.DisplayValue;

      order by pro.pokupatel

endif

if thisform.optiongroup1.option3.value=1 && по стоимости

      select pro.pokupatel as клиент,;

                  tip.tip as тип,;

                  pro.naimenovanie as товар,;

                  pro.cena as цена,;

                  pro.Data_prodaghi as приобретен;                                 from pro,tip;

      where pro.id_tip = tip.id_t and tip.tip = thisform.combo1.DisplayValue;

      order by pro.cena

endif

Рис. 10. Фрагмент таблицы результата запроса 2

Задание 3

Для каждого вида товара указать сведения о поставщике.

Запрос реализуется с помощью кнопки "postavschiki", находящейся на главной форме.

Текст запроса:

CLOSE TABLES

select ;

            pos.psevdonim as поставщик,;

            tip.tip as тип,;

            pro.Naimenovanie as товар,;

            pos.gorod 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;

order by pos.psevdonim

Рис. 11. Фрагмент таблицы результата запроса 3


Задание 4

Найти самый дорогой вид товара, самый старый по году, найти товары с ценой выше 2000 р. (и любая другая сумма).

Рис. 12. Форма для выполнения четвертого задания

Текст запросов:

CLOSE TABLES &&самый старый

SELECT tip.tip as тип, pro.naimenovanie as товар,;

pro.god_vipuska as год_выпуска;

FROM "G:\bd\irkrgr\irgr\pro.dbf", "G:\bd\irkrgr\irgr\tip.dbf";

WHERE pro.id_tip = tip.id_t;

            AND tip.tip = thisform.combo1.DisplayValue;

            and pro.god_vipuska = (;

                  select MIN(pro.god_vipuska);

                  from pro,tip;

                  where pro.id_tip = tip.id_t;

               AND tip.tip = thisform.combo1.DisplayValue)

CLOSE TABLES && самый дорогой

SELECT tip.tip as тип, pro.naimenovanie as товар,;

            pro.cena as цена;

FROM "G:\bd\irkrgr\irgr\pro.dbf", "G:\bd\irkrgr\irgr\tip.dbf";

WHERE ;

            pro.id_tip = tip.id_t;

            AND tip.tip = thisform.combo1.DisplayValue;

            and pro.cena = (;

                  select MAX(pro.cena);

                  from pro,tip;

                  where pro.id_tip = tip.id_t;

               AND tip.tip = thisform.combo1.DisplayValue)

CLOSE TABLES && найти товары с ценой выше

SELECT tip.tip as тип, pro.naimenovanie as товар, pro.cena as цена;

FROM ;

            "G:\bd\irkrgr\irgr\pro.dbf",;

            "G:\bd\irkrgr\irgr\tip.dbf";

WHERE ;

            pro.id_tip = tip.id_t;

         and pro.cena > thisform.Text1.Value

                      

Рис. 13. Результат работы запроса 4                    Рис. 14. Результат работы запроса 4

Рис. 15. Результат работы запроса 4

Задание 5

Найти объем продаж заданного товара за квартал, за год – за этот же период: среднюю цену, самую дорогую и самую дешевую вещь.

Рис. 16. Форма для выполнения пятого задания

Текст запроса:

Объем продаж.

CLOSE TABLES

if thisform.Optiongroup1.Option1.Value=1 && за 1ый квартал

      select tip.tip as тип, pro.naimenovanie as товар,;

                  pro.Data_prodaghi as дата_продажи;

      from "G:\bd\irkrgr\irgr\pro.dbf", "G:\bd\irkrgr\irgr\tip.dbf";

      where ;

                  pro.id_tip = tip.id_t;