Авторизация



Выбор типа соединения и типа связи на вкладке Links диалогового окна эксперта Database Expert

Оценить
(0 голоса)

На вкладке Links диалогового окна эксперта Database Expert выберите тип соединения, дважды щелкнув на линии связи, прочерченной между двумя подходящими таблицами, щелкнув правой кнопкой мыши на линии связи и выбрав в контекстном меню пункт Link Options (Параметры связи) или выделив линию и щелкнув на кнопке Link Options. Появится диалоговое окно Link Options (Параметры связи), показанное на рис. 15.15. В левой части этого диалогового окна выберите требуемый тип соединения.

Выбор типа соединения и типа связи на вкладке Links диалогового окна эксперта Database Expert

На заметку! Если таблицы связаны по более чем одному полю, выбор типа соединения для любой

из связей установит такой же тип соединения для всех связей. Наличие разных типов соединения для множества связей между одинаковыми таблицами невозможно.

Хотя для большинства составляемых бизнес-отчетов подходят такие типы соединения, как внутреннее соединение и левостороннее внешнее соединение, не исключены особые ситуации, в которых может понадобиться использовать и другие перечисленные типы соединений.

Доступные в Crystal Reports типы связи. Помимо типа соединения Crystal Reports предлагает дополнительные опции для выбора типа связи, который можно выбирать наравне с типом соединения.

•    Равно (=). Возвращает записи из таблиц, сопоставляя записи из правой таблицы каждый раз, когда соединяемое поле в левой таблице равно соединяемому полю в правой таблице.

•    Больше (>). Возвращает записи из левой таблицы, сопоставляя записи из правой таблицы каждый раз, когда соединяемое поле в левой таблице больше соединяемого поля в правой таблице.

•    Больше или равно (>=). Возвращает записи из левой таблицы, сопоставляя записи из правой таблицы каждый раз, когда соединяемое поле в левой таблице больше или равно соединяемому полю в правой таблице.

•    Меньше (<). Возвращает записи из левой таблицы, сопоставляя записи из правой таблицы каждый раз, когда соединяемое поле в левой таблице меньше соединяемого поля в правой таблице.

•    Меньше или равно (<=). Возвращает записи из левой таблицы, сопоставляя записи из правой таблицы каждый раз, когда соединяемое поле в левой таблице меньше или равно соединяемому полю в правой таблице.

•    Не равно (!=). Возвращает все комбинации записей из двух таблиц, в которых объединяемые поля не равны.

При различном сочетании типов соединений и типов связи могут возвращаться очень интересные комбинации данных. Например, при выборе внутреннего соединения (Inner

 

Join) и типа связи “меньше” (<) набор возвращаемых данных будет намного больше, нежели при выборе внутреннего соединения (Inner Join) и типа связи “равно” (=).

Выбор типа соединения и типа связи на вкладке Links диалогового окна эксперта Database Expert

В этом случае записи, между полями которых никаких соответствий найдено не было, возвращаться не будут. Однако при выборе левостороннего внешнего соединения (Left Outer Join) и типа связи “меньше” возращено будет большее количество совпадающих записей, а также записи из левой таблицы, не имеющие соответствий в правой таблице.

Чтобы просмотреть, каким образом комбинация из типа соединения и типа связи.от- разится на SQL-запросе, выберите в меню Database пункт Show SQL Query (Показать SQL-запрос). Если вы знакомы со структурой SQL-запроса, то заметите, что комбинация из типа соединения и типа связи изменяет различные части запроса. Например, при выборе внутреннего соединения (Inner Join) и типа связи “равно” (=) запрос будет выглядеть следующим образом:

FROM "xtreme"."dbo"."Employee" "Employee" INNER JOIN

"xtreme"."dbo"."Orders" "Orders" ON

"Employee"."Employee ID"="Orders"."Employee ID"

При выборе левостороннего внешнего соединения (Left Outer Join) и типа связи “меньше” (<) тип запроса будет таким:

FROM {oj "xtreme"."dbo"."Employee" "Employee" LEFT OUTER JOIN

"xtreme"."dbo"."Orders" "Orders" ON

"Employee"."Employee ID"<"Orders"."Employee ID"}

Разумеется, точный формат SQL-запроса и то, какая его часть отвечает за выполнение операций соединения (в одних случаях это конструкция FROM, а в других — конструкция WHERE), заэисит от типа базы данных и применяемого драйвера. Также для разных выбираемых типов соединений и связи будут возвращаться очень разные наборы данных. Если вы недостаточно хорошо знакомы с типами соединений и связи, лучше придерживайтесь проверенных и надежных способов, а именно — типов соединений Inner Join (Внутреннее соединение) или Left Outer Join (Левостороннее внешнее соединение) и типа связи “равно” (=). В любом случае настоятельно рекомендуется проверять достоверность результатов отчета на основе оригинального источника данных, дабы гарантировать, что отчет после выбора типов соединений и связи возвращает все необходимые данные.

На заметку! Некоторые типы соединений и связи не будут доступны, что зависит от типа выбранной для отчета базы данных. В таких случаях все эти недоступные опции в диалоговом окне Link Options будут обесцвечены.

 

Принудительное соединение в Crystal Report
Просмотр SQL-запроса
Команды SQL в Crystal Reports
Создание SQL-команды
Добавление параметра в команду

Добавить комментарий


Защитный код
Обновить