СОЗДАНИЕ ВЫБОРКИ НА БАЗЕ ТАБЛИЦЫ
Есть способ автоматизировать процесс создания выборки. Он заключается в
автоматическом создании выборки и SQL запросов для нее. Делается это с
помощью помощника, который вызывается из редактора таблиц. Редактор
таблиц можно вызвать дважды щелкнув мышью на названии таблицы в дереве
объектов рабочего стола или в графическом редакторе. Пример помощника для одной из таблиц показан на следующем рисунке.

Окно
помощника разделено на два списка. В верхнем списке перечеслены поля
таблицы, на основании которой нужно создать выборку. Нижний список
является зависимым от верхнего и отображает поля внешней таблицы.
Формирование SQL запроса типа select.
SQL запрос будет состоять из полей основной таблицы и полей свзянных
(join) таблиц. По умолчанию, в запросе с основной таблицей связываются
все таблицы на которые имеется внешний ключ. Если к основной таблице не
нужно присоединять внешнюю, то нужно снять признак "JOIN" в поле
"Внешняя таблица / присоединить". Поля которые нужно включить в SQL
запрос отмечаются с помощью признака "Включить в SELECT" как для
основной, так и для внешней таблицы.
Создание модифицирующих запросов.
По умолчанию, для выборки будт созданы модифицирующие запросы INSERT,
UPDATE, DELETE и REFRESH. Если модифицирующий запрос не требуется, то
необходимо в соотвествующем запросу переключателе выбрать "None".
Каждый из запросов может быть обернут в конструкцию execute block.
Для этого нужно поставить переключатель соответствующего запроса в
положение "Execute". После того как все настройки будут сделаны,
необходимо нажать кнопку "Создать выборку". После этого, новую выборку
можно будет найти в дереве объектов рабочего стола для ее дальнейшей
корректировки. SQL запрос, сформированный для рассматриваемого примера на рисунке, будет выглядеть следующим образом:
select
a.ID_BANKACCOUNT,
a.ID_AGENT,
a.ID_BANK,
a.ACCOUNT,
a.FILIAL,
a.IS_DEFAULT,
a.ID_CURRENCY,
c.BIK,
c.NAME,
c.CORR_ACC
from
BASE_BANKACCOUNTS a
left join BASE_AGENTS b on a.ID_AGENT=b.ID_AGENT
left join BASE_BANKS c on a.ID_BANK=c.ID_BANK
left join BASE_CURRENCIES d on a.ID_CURRENCY=d.ID_CURRENCY