Содержит вычисляемые колонки, т.е. колонки которые автоматически вычисляются из значений других колонок.
Колонка |
Описание |
entity_id |
Сущность, к которой относится поле. |
name |
Название колонки. Не может быть пустым, содержать пробелы, строки / и __ , называться id или sub_entity . |
expression |
Выражение для вычисляемой колонки. Задаётся как выражение языка FunQL (напр. "name" || "surname" ). |
is_virtual |
Разрешено ли переопределять выражение поля в дочерних сущностях. Используется для возвращения результатов в зависимости от подтипа записи. |
Контакты - родительская сущность, Люди и Организации - дочерние сущности.
Считаем и отображаем в поле official_name
:
- для Человека -
Фамилия Имя Отчество
- для Организации -
"Название"
в кавычках
- для Контакта - строку
-
entity_id |
name |
expression |
is_virtual |
base.organizations |
official_name |
last_name || ' ' || first_name || ' ' middle_name |
true |
base.people |
official_name |
COALESCE('"' || name || '"', 'no name') |
true |
base.contacts |
official_name |
'-' |
true |
SELECT id, name, official_name
FROM base.organizations
id |
name |
official_name |
1 |
Marshall |
"Marshall" |
3 |
Pound |
"Pound" |
SELECT id, last_name, first_name, middle_name, official_name
FROM base.people
id |
last_name |
first_name |
middle_name |
official_name |
2 |
Gale |
Tyson |
Austin |
Gale Tyson Austin |
5 |
Duncan |
Randall |
Sinclair |
Duncan Randall Sinclair |
SELECT id, official_name, sub_entity
FROM base.contacts
id |
official_name |
sub_entity |
1 |
"Marshall" |
{"name":"organizations","schema":"base"} |
2 |
Gale Tyson Austin |
{"name":"people","schema":"base"} |
3 |
"Pound" |
{"name":"organizations","schema":"base"} |
4 |
- |
{"name":"contacts","schema":"base"} |
5 |
Duncan Randall Sinclair |
{"name":"people","schema":"base"} |