select ad.id, ad.Address
from
AddressType at,
AccountAddress ad
where
ad.AccountId = 'e308b781-3c5b-4ecb-89ef-5c1ed4da488e'
and at.Id = ad.AddressTypeId
--and at.Name = 'Собеседования'
and at.Name = 'Места работы'
var select = this.Ext.create("Terrasoft.EntitySchemaQuery", { rootSchemaName: "AccountAddress" });
select.addColumn("Id");
select.addColumn("Address");
select.filters.add("filterByAccountWork1",
select.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"Account", this.get("AccountId")));
select.filters.add("filterByAccountWork2",
select.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"AddressType", "Места работы"));
/* вот тут где-то синтакс ошибка
select.filters.add("filterByAccountWork3",
select.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
"[AccountAddress:AddressType].Id",
"[AccountAddress.AddressType].Id"));
*/
Нравится
Добрый день
А вам точно нужно декартовое произведение? Это будет долго работать
Чем не подойдет?
select
ad.id,
ad.Address
from
AccountAddress ad
inner join AddressType at on at.Id = ad.AddressTypeId
where
ad.AccountId = 'e308b781-3c5b-4ecb-89ef-5c1ed4da488e'
--and at.Name = 'Собеседования'
and at.Name = 'Места работы'и в этом случае все гораздо проще, и данных в разы меньше
Артем Гура,
Привет, Да, так лучше намного будет, а как это сделать на esq? :) Запутался, все время синтакс еррор в консоли. Пытался сделать по
https://academy.terrasoft.ru/documents/technic-sdk/7-12/postroenie-pute… но пока не смог :), прошу помощи
QArt,
Что-то вроде этого:
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
rootSchemaName: "AccountAddress"
});
esq.addColumn("Id");
esq.addColumn("Address");
var filterGroup = Ext.create("Terrasoft.FilterGroup");
filterGroup.logicalOperation = Terrasoft.LogicalOperatorType.AND;
filterGroup.addItem(Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Account", ''));
filterGroup.addItem(Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "=[AddressType:Id:AddressTypeId].Name", 'Собеседования'));
esq.filters.addItem(filterGroup);
esq.getEntityCollection(...)