В данной статье представлен синтаксис и примеры предложений и операторов для запросов на языке формул Comindware Business Application Platform.
Операторы запросов
| from |
|
| Описание |
Запрос должен начинаться с предложения from. Предложение from состоит из следующих частей:
- оператор
from;
- локальная переменная, которая представляет отдельные элементы источника данных (например, запись в шаблоне или аккаунт);
- оператор
in;
- источник данных, по которому выполняется запрос.
|
| Синтаксис |
from переменная in источник_данных
|
| Аргументы |
переменная: имя локальной переменной
источник_данных:
db->имя_шаблона: шаблон записи, шаблон аккаунта;
$путь->к->атрибуту: атрибут шаблона;
from переменная2 in источник_данных2 where условие2 select атрибут2: подзапрос;
|
| where |
|
| Описание |
Предложение where задаёт условие выборки элементов в источнике данных. Условие может содержать несколько предикатов, возвращающих true или false. В условие можно включить несколько предикатов с помощью логических операторов && (И), || (ИЛИ), == (РАВНО), != (НЕ РАВНО) и функций AND(), OR(), EQUALS(), IF(), NOT(), ANY(), ALL(). |
| Синтаксис |
where условие |
| Аргументы |
условие: значение логического типа или выражение, возвращающее true или false. |
| orderby |
|
| Описание |
Предложение orderby позволяет отсортировать результаты запроса по значению атрибута искомых объектов. Предложение orderby следует использовать между предложениями where и select. Предложение orderby состоит из следующих частей:
- оператор
orderby;
- атрибут объекта, по которому следует выполнять сортировку результатов запроса;
- оператор порядка сортировки —
ascending по возрастанию (по умолчанию, можно не указывать) или descending — по убыванию.
|
| Синтаксис |
- Сортировка по возрастанию:
orderby атрибут_объекта ascending
или
orderby атрибут_объекта
- Сортировка по убыванию:
orderby атрибут_объекта descending
|
| Аргументы |
атрибут_объекта: атрибут шаблона или иного объекта. |
| select |
|
| Описание |
Предложение select задаёт, атрибут объекта, значения которого вернёт запрос. В конечном результате учитываются как работа предыдущих операторов, так и любые выражения в самом операторе select. |
| Синтаксис |
select атрибут_объекта |
| Аргументы |
атрибут_объекта: атрибут шаблона или иного объекта. |
Примечание
- Следующие слова нельзя использовать в запросе в качестве локальной переменной, так как они зарезервированы как системные:
and, ascending, between, by, db, descending, equals, from, group, in, into, item, join, let, on, orderby, select, source, where
- слова, начинающиеся с подчеркивания (
_)
- имена функций и литералы
- Предложение
from может содержать подзапросы (также начинающиеся с from).
Примеры запросов
- Запрос записей районов Москвы с сортировкой по убыванию названия района.
from a in db->Cities
where a->CityName == "Москва"
orderby a->Districts->DistrictName descending
select a->Districts
- Запрос названий и авторов книг, у которых указан автор, с сортировкой по возрастанию имени автора и выводом в формате «Название: название книги. Автор: имя автора».
from book in db->Books
where NOT(EMPTY(book->Author))
orderby book->Author->Name
select CONCAT(LIST('Название: ', book->Name, '. Автор: ', book->Author->Name))