Ввод запроса from where select
Содержание
- Ввод заготовки конструкции from where select
- Синтаксис запроса from where select
- Ввод запроса из атрибута текущего шаблона
- Ввод запроса из шаблона текущего приложения
- Ввод системного имени атрибута после переменной-селектора
- Ввод системного имени атрибута из цепочки связанных шаблонов
- Практический пример
- Связанные статьи
Ввод заготовки конструкции from where select
Определения
Запрос from where select
возвращает список значений из указанного источника данных, соответствующих заданному условию.
С помощью предиктивного ввода можно вставить заготовку запроса from where select
.
- Нажмите клавиши Ctrl Пробел.
- Отобразится список источников данных для запроса — атрибутов типа «Запись» в текущем шаблоне и шаблонов в текущем приложении.
Список источников данных для запроса from where select
- Дважды нажмите системное имя атрибута или шаблона в списке, чтобы вставить в формулу заготовку конструкции
from where select
для него:Заготовка конструкции from where select
- Замените строку
Ваше условие
после оператораwhere
на условие выборки записей из источника данных.
Примечание
- В качестве источника данных для запроса
from where select
рекомендуется использовать атрибут типа «Запись», содержащий ID записей, из которых требуется произвести выборку. - Запрос по записям, связанным с атрибутом, выполняется быстрее, чем запрос по всем записям из шаблона.
- В качестве источника данных можно использовать атрибуты типа «Запись», у которых установлен флажок «Хранить несколько значений».
- Атрибуты, подходящие для запроса, отображаются в подсказке в начале списка с префиксом
$
и суффиксом(запрос)
:$AttributeName (запрос)
.
Синтаксис запроса from where select
from a
— объявление локальной переменной-селектораa
, в которую будут помещены записи из источника данных.in
— объявление источника данных:db->TemplateName
— шаблон записи с системным именемTemplateName
;$RecordAttributeName
— атрибут типа «Запись» с системным именемRecordAttributeName
, хранящий несколько значений;(from where select)
— вложенный запрос. Вложенный запрос необходимо заключить в скобки и использовать в нём уникальную переменную-селектор:from a in (from b in $DataSource2 where Condition2 select b->Attribute2) where Condition1 select a->Attribute1
where Condition
— выбор записей, для которых выражениеCondition
возвращаетtrue
.orderby SortAttribute ascending
— сортировка записей по значению атрибутаSortAttribute
. Порядок сортировки указывается операторомascending
— по возрастанию (порядок по умолчанию, указывать необязательно) илиdescending
— по убыванию.select a->ReturnAttribute
— выборка значений атрибутаReturnAttribute
записей из источника данных. Операторselect
может содержать выражение.
from a in $Cities where a->CityName == "Москва" orderby a->Districts->DistrictName descending select a->Districts
from book in $Books where NOT(EMPTY(book->Author)) orderby a->boook->Author->Name select CONCAT(LIST('Название: ', book->Name, '. Автор: ', book->Author->Name))
Внимание! Зарезервированные слова
Следующие слова нельзя использовать в запросе в качестве локальной переменной, так как они зарезервированы как системные:
and
,ascending
,between
,by
,db
,descending
,equals
,from
,group
,in
,into
,item
,join
,let
,on
,orderby
,select
,source
,where
- слова, начинающиеся с подчеркивания (
_
) - имена функций и литералы
Ввод запроса из атрибута текущего шаблона
- Введите строку:
from a in
- После ввода оператора
in
отобразится список доступных источников данных. Этот список также можно вызвать, нажав клавиши Ctrl Пробел в позиции после оператораin
.Список источников данных
- Дважды нажмите системное имя атрибута типа «Запись», отображающегося в списке с префиксом
$
и без суффикса(запрос)
, чтобы вставить его в формулу. - Введите условие выборки записей и атрибут для выборки с помощью операторов
where
иselect
.
from a in $Costs where a->TotalAmount > $PlannedCosts select a->id
Ввод запроса из шаблона текущего приложения
- Введите строку:
from a in db->
- После ввода символов
db->
отобразится список шаблонов текущего приложения. Этот список также можно вызвать, нажав клавиши Ctrl Пробел в позиции послеdb->
.Список шаблонов в текущем приложении
- Дважды нажмите системное имя шаблона, чтобы вставить его в формулу.
- Введите условие выборки записей и атрибут для выборки с помощью операторов
where
иselect
.
COUNT(from a in db->Cars where a->Make == $Make select a->id)
Ввод системного имени атрибута после переменной-селектора
Здесь используется приведённый ниже пример конфигурации приложения.
- Введите строку:
from a in $RequestedCars where a->
- После ввода символов
a->
отобразится список атрибутов шаблона, связанного с атрибутомRequestedCars
, на который ссылается локальная переменная-селекторa
. Этот список также можно вызвать, нажав клавиши Ctrl Пробел в позиции послеa->
.Список атрибутов, вызванный посредством переменной-селектора
- Дважды нажмите системное имя атрибута
_creator
, чтобы вставить его в формулу._creator
— это системный атрибут, в котором хранится ID аккаунта, создавшего запись. - Введите строку:
== USER() select a->id
COUNT(from a in $RequestedCars where a->_creator == USER() select a->id)
Ввод системного имени атрибута из цепочки связанных шаблонов
Здесь используется приведённый ниже пример конфигурации приложения.
- Введите строку:
from a in $$RequestedCars where b->_creator->
- После ввода символов
_creator->
отобразится список атрибутов системного шаблона аккаунта, с которым связан системный атрибут_creator
. Этот список также можно вызвать, нажав клавиши Ctrl Пробел в позиции после оператора->
.
Список атрибутов, вызванный по цепочке связанных шаблонов
- Дважды нажмите системное имя атрибута username, чтобы вставить его в формулу.
- Введите строку:
== "admin" select a->id
from a in $RequestedCars where a->_creator->username == "admin" select a->id
Практический пример
Подсчёт количества автомобилей марки «Лада» в заявке
Конфигурация приложения
- Шаблон записи «Заявка на автомобили»
- Атрибут «Запрошенные автомобили»
- Системное имя: RequestedCars
- Тип данных: запись
- Связанный шаблон: Автомобили
- Хранить несколько значений: флажок установлен
- Запись: заявка на несколько автомобилей разных марок
- Атрибут «Запрошенные автомобили»
- Шаблон записи «Автомобили»
- Атрибут «Марка»
- Системное имя: Make
- Тип данных: текст
- Использовать как заголовок записей: флажок установлен
- Записи:
УАЗ
,Москвич
,Лада
- Атрибут «Марка»
Составление формулы
- Введите функцию
COUNT()
. См. «Ввод имени функции и просмотр подсказки по функции». - В позиции аргумента функции нажмите клавиши Ctrl Пробел.
- Отобразится список источников данных.
Список источников данных для запроса
- Дважды нажмите в списке пункт $RequestedCars (запрос), чтобы вставить в формулу заготовку конструкции
from where select
для него:Заготовка запроса
- Выделите строку
Ваше условие
после оператораwhere
, чтобы заменить её на условие выборки записей из шаблона «Автомобили». - Введите строку
where a->
. - В отобразившемся списке атрибутов шаблона «Автомобили» дважды нажмите системное имя атрибута Make, чтобы вставить его в формулу. См. «Ввод системного имени атрибута после переменной-селектора».
Список атрибутов шаблона «Автомобили»
- Введите оператор
==
и нажмите клавиши Ctrl Пробел. - Отобразится список записей шаблона «Автомобили» в виде марок автомобилей. См. «Ввод заголовка записи связанного шаблона».
Список записей в шаблоне «Автомобили»
- Дважды нажмите пункт «Лада», чтобы вставить в формулу строковый литерал
"Лада"
.
COUNT(from a in $RequestedCars where a->Make == "Лада" select a->id)
Синтаксис формулы
COUNT()
— возвращает количество элементов в списке, переданном в качестве аргумента.from a
— объявление локальной переменнойa
.in $RequestedCars
— объявление атрибутаRequestedCars
в качестве источника данных.where a->Make == "Лада"
— выборка в переменнуюa
записей, связанных с атрибутомRequestedCars
, у которых атрибутMake
имеет значение `"Лада".select a->id
— выборка значений атрибутаid
полученных записей и передача списка этих значений в функциюCOUNT()
.
Связанные статьи
Эта статья была полезна 1 чел.