Поскольку Crystal Reports работает с базами данных SQL, он должен, в конечном счете, переводить таблицы, поля, связи, сортировку и группирование, используемые при разработке отчета, на язык SQL. Можно визуализировать предложения SQL, создаваемые Crystal Reports, выбирая опцию Database I Show SQL Query в раскрывающемся меню.
Рассмотрим закладку Design отчета, использующую данные базы данных XTREME, преобразованной из Microsoft Access в Microsoft SQL Server, доступ к которому обеспечивается посредством ODBC. Этот отчет использует таблицы Orders и Customer, связанные с помощью левостороннего внешнего объединения по Customer ID. Select Expert ограничивает отчет только заказчиками из USA. Обратите внимание на поля, помещенные в графе подробностей. Обратите также внимание, что была создана группа, основанная на Customer.Region.
Для визуализации предложения SQL, создаваемого Crystal Reports для запроса базы данных, выберите опцию Database I Show SQL Query. Вы увидите диалоговое окно, показанное на рис. 6. Обратите внимание на разные части (операторы) предложения SQL:
- SELECT Подбирает поля базы данных, необходимые для вашего отчета (для графы подробностей, формул, группирования и т.д.)
- FROM Выбирает таблицы, которые будут использоваться, и определяет типы объединения для связывания таблиц
- WHERE Определяет область выбора записи для сервера
- ORDER BY Посылает серверу SQL запрос на сортировку записей в соответствии с Customer.Region (для группы Region) до их отсылки клиенту
Синтаксис SQL может варьироваться в зависимости от типа используемой для отчета базы данных и метода соединения с ней – с помощью ODBC или же прямых драйверов баз данных. Вы обнаружите также различный синтаксис для объединения таблиц. Кроме того, текущее объединение таблиц может задаваться или оператором FROM, или оператором WHERE.