Редактор столбцов запроса
После того, как были добавлены таблицы в запрос
(рис. 217), соответствующие окна появятся
в поле закладки Мастер. В этих окнах перечислены столбцы таблицы, а также присутствует
строка * [all_columns]. Она предназначена для добавления всех столбцов таблицы в редактор
столбцов запроса (табличное поле в левой нижней части Мастера). Также добавить все столбцы
таблицы в редактор можно, выполнив пункт меню Добавить все колонки для узла
данной таблицы (рис. 217).

В редакторе столбцов запроса изначально установлен один столбец с выражением *. Это означает,
что выборка будет производиться по всем столбцам таблиц, включенных в поле закладки Мастер.
Например, для конфигурации, указанной на рисунке 217, запрос будет иметь вид:
'SELECT * FROM "SYSTEM"."$$$ATTRI" AS "$$$ATTRI", "SYSTEM"."$$$SYSRL" AS "$$$SYSRL"';
Для добавления столбца таблицы в редактор предусмотрен механизм Drag-n-Drop.
Другими словами, для добавления столбца $$$S23
в редактор необходимо нажать на этом столбце левую кнопку мыши и, не отпуская ее, перетащить столбец в редактор столбцов.
Далее следует отпустить левую кнопку мыши. При этом в редакторе столбцов появится новый столбец
(рис. 218).

Поле Наименование содержит название для данного столбца (строка длиной от 1 до 66 символов).
Поле Выражение задает выражение, которое будет отображено в запросе. По умолчанию это <имя_таблицы>.<имя_столбца>. Например, в этом поле можно задавать агрегирующие функции, типа COUNT, AVG, SUM и т.д.
Поле Выводить на экран управляет видимостью данного столбца. Невидимые поля могут использоваться для задания дополнительных условий по AND.
В поле Сортировка указывается тип сортировки данного столбца. Если сортировка задана по нескольким столбцам, то они будут отсортированы в порядке их включения в редактор столбцов. Например, если в таблице AUTO мы выбираем два столбца MODEL и HORSEPWR и устанавливаем им сортировку По убыванию и По возрастанию, соответственно, то запрос к базе данных будет выглядеть так:
SELECT "AUTO"."MODEL" AS "MODEL", "AUTO"."HORSEPWR" AS "HORSEPWR" FROM "SYSTEM"."AUTO" AS "AUTO" ORDER BY "AUTO"."MODEL" DESC, "AUTO"."HORSEPWR"
Для того чтобы в сортировке поменять местами MODEL и HORSEPWR, необходимо в редакторе столбцов добавлять сначала HORSEPWR, а потом MODEL.
Поле Группировка управляет типом условий, которые будут налагаться на данный столбец.
Если выставлено значение Выражения, то в запросе будет фигурировать только строка, заданная
в поле Выражение. Если указано значение Группировка, то будет выполнена
группировка по данному столбцу. Поля Условия, или,
или, … или задают логические условия на выбираемые из столбца данные.
Условия соединяются по оператору OR, например, заданные условия для столбца
COLOR:
Условия 'RED' или 'GREEN' или 'BLACK'
в SQL-запросе будут иметь вид:
… WHERE "AUTO"."COLOR"='RED'
OR "AUTO"."COLOR"='GREEN'
OR "AUTO"."COLOR"='BLACK'
Для удаления столбца из редактора столбцов необходимо вызвать его контекстное меню (нажатием левой кнопки мыши на кнопке … в поле Наименование или Выражение) и выполнить пункт Удалить.
Примеры
-
Задача. Требуется выяснить, сколько столбцов в базе данных имеют в своем имени знак $.
Решение. Описание столбцов хранится в поле $$$S23 таблицы $$$ATTRI. Добавим эту таблицу в запрос. Перетащим в редактор столбцов столбец $$$S23. Установим наименование равным
Кол-во системных столбцов, выражение –count(*), группировка –Выражения, условия –like '%$%'(рис. 219).
Рисунок 219. Подсчет количества системных столбцов
-
Задача. В таблице
AUTOсодержится информация о модели машины, ее характеристиках, и ее владельце. Требуется выяснить, сколько машин каждой модели находится в таблице.Решение. Добавляем в запрос таблицу
AUTO, перетаскиваем в редактор столбцовMODELиBODYTYPE(например, на самом деле неважно, какой из столбцов будет вторым, поскольку он будет использоваться для установки агрегирующей функции). Затем выставляем для первого столбца наименование –Модель, группировка –Группировка. Для второго столбца наименование –Кол-во, выражение –count(*), группировка –Выражения(рис. 220).
Рисунок 220. Вычисление количества для каждой модели