Ввод запроса 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 чел.