Добрый день. У меня в таблице Account лежат два внешних ключа на таблицу Contact. Подскажите, как явно указать столбец для джойна. Это:
esq.addColumn("=Contact.Name", "ContactName");
возвращает не верные значения. К тому же, хотелось бы использовать inner join, но запрос летит в виде:
LEFT OUTER JOIN [dbo].[Contact] [PrimaryContact] WITH(NOLOCK) ON ([PrimaryContact].[Id] = [UsrAccount].[PrimaryContactId])
* Из примера выше, нужно джойнить по столбцу OwnerId вместо PrimaryContact
Нравится
Вот статья https://academy.terrasoft.ru/docs/7-17/developer/front-end_development/…
Не надо писать равно.
Если у вас root таблица в esq это Account в нем к примеру есть поле Ответственный Owner справочник контакта. Вам надо получить какое-то из полей Owner.
esq.addColumn("Owner.Id", "OwnerId");
esq.addColumn("Owner.Name", "OwnerName");
Также если в контакте тоже есть справочное поле Lookup у справочника которого есть поле Name можно провалится и дальше
esq.addColumn("Owner.Lookup.Name", "OwnerLookupName");
* Из примера выше, нужно джойнить по столбцу OwnerId вместо PrimaryContact
PrimaryContactId*
Два внешних ключа это два справочных поля со справочником контакта в объекте контрагент?
Полозюков Евгений Петрович, верно. Один указывает на Основной контакт контрагента, второй на Менеджера работающего с контрагентом.
Другими словами, запрос:
SELECT offer.* from UsrCommercialOffer as offer INNER JOIN Account as acc ON offer.UsrAccountId = acc.Id WHERE acc.OwnerId = @currentUserId
Его нужно написать на фронте.
Вот статья https://academy.terrasoft.ru/docs/7-17/developer/front-end_development/…
Не надо писать равно.
Если у вас root таблица в esq это Account в нем к примеру есть поле Ответственный Owner справочник контакта. Вам надо получить какое-то из полей Owner.
esq.addColumn("Owner.Id", "OwnerId");
esq.addColumn("Owner.Name", "OwnerName");
Также если в контакте тоже есть справочное поле Lookup у справочника которого есть поле Name можно провалится и дальше
esq.addColumn("Owner.Lookup.Name", "OwnerLookupName");