Редактор столбцов запроса

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

Выбор столбцов таблиц
Рисунок 217. Выбор столбцов таблиц

В редакторе столбцов запроса изначально установлен один столбец с выражением *. Это означает, что выборка будет производиться по всем столбцам таблиц, включенных в поле закладки Мастер.

Например, для конфигурации, указанной на рисунке 217, запрос будет иметь вид:

'SELECT * FROM "SYSTEM"."$$$ATTRI" AS "$$$ATTRI", "SYSTEM"."$$$SYSRL" AS "$$$SYSRL"';

Для добавления столбца таблицы в редактор предусмотрен механизм Drag-n-Drop. Другими словами, для добавления столбца $$$S23 в редактор необходимо нажать на этом столбце левую кнопку мыши и, не отпуская ее, перетащить столбец в редактор столбцов. Далее следует отпустить левую кнопку мыши. При этом в редакторе столбцов появится новый столбец (рис. 218).

Редактор столбцов
Рисунок 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'

Для удаления столбца из редактора столбцов необходимо вызвать его контекстное меню (нажатием левой кнопки мыши на кнопке … в поле Наименование или Выражение) и выполнить пункт Удалить.

Примеры
  1. Задача. Требуется выяснить, сколько столбцов в базе данных имеют в своем имени знак $.

    Решение. Описание столбцов хранится в поле $$$S23 таблицы $$$ATTRI. Добавим эту таблицу в запрос. Перетащим в редактор столбцов столбец $$$S23. Установим наименование равным Кол-во системных столбцов, выражение – count(*), группировка – Выражения, условия – like '%$%' (рис. 219).

    Подсчет количества системных столбцов
    Рисунок 219. Подсчет количества системных столбцов

  2. Задача. В таблице AUTO содержится информация о модели машины, ее характеристиках, и ее владельце. Требуется выяснить, сколько машин каждой модели находится в таблице.

    Решение. Добавляем в запрос таблицу AUTO, перетаскиваем в редактор столбцов MODEL и BODYTYPE (например, на самом деле неважно, какой из столбцов будет вторым, поскольку он будет использоваться для установки агрегирующей функции). Затем выставляем для первого столбца наименование – Модель, группировка – Группировка. Для второго столбца наименование – Кол-во, выражение – count(*), группировка – Выражения (рис. 220).

    Вычисление количества для каждой модели
    Рисунок 220. Вычисление количества для каждой модели