Построение сложного запроса

       В предыдущем примере мы строили отчет на основе данных из одной таблицы. Рассмотрим построение запроса, который включает в себя данные из двух таблиц.

 

       Ранее мы рассматривали работу отчета с группами (глава "Отчет с группами"). Построим запрос для этого отчета с помощью конструктора запросов. Нам необходимо составить запрос на языке SQL, который вернет данные из обеих таблиц, сгруппированные по определенному условию. В нашем случае условие – соответствие полей CustNo в обеих таблицах.

 

       Как и в предыдущем примере, создаем новый отчет и кладем на страницу компонент "Запрос ADO". В редакторе запроса нажимаем кнопку для запуска конструктора запроса.

 

       Перетаскиваем на рабочее поле две таблицы – Customers и Orders. Обе таблицы имеют поле CustNo, по которому мы должны их связать. Путем перетаскивания поля CustNo из одной таблицы в другую мы создаем связь между таблицами:

 

clip0042

 

       Теперь необходимо отметить поля, которые должен включать в себя запрос, и сгруппировать его по полю CustNo. Для этого отметьте галочками поля "*" в обеих таблицах, а также поле CustNo в таблице Customer. В нижней части окна появятся выбранные нами поля, после чего надо выбрать сортировку для поля CustNo:

 

clip0043

 

       Все, запрос готов. Его текст выглядит так:

 

clip0045