#join #parent-child #soql
#Присоединиться #родитель-потомок #soql
Вопрос:
У меня есть пользовательский объект Projet__c
, дочерний элемент Account
, к которому мне нужно сделать запрос, например, SELECT Id FROM Projet__c LIMIT 10
. Это работает.
Я хочу получить имя учетной записи.
Например, если дочерний элемент не был пользовательским Contact
, я мог бы просто запустить SELECT Id, Account.Name FROM Contact
(это работает).
Однако SELECT Id, Account.Name FROM Projet__c
сбой со следующим сообщением об ошибке :
INVALID_FIELD: ВЫБЕРИТЕ имя, учетную запись.Имя ^ ОШИБКА в строке: 1: Столбец: 14 Не понял отношения «Учетная запись» в пути к полю. Если вы пытаетесь использовать пользовательскую связь, обязательно добавьте ‘__r’ после имени пользовательской связи. Пожалуйста, обратитесь к вашему WSDL или вызову describe для получения соответствующих имен.
Заглядывая в Workbench, я вижу, что в Account существует дочерняя связь projets__r
с пользовательским полем, вызываемым BorrowerBusiness__c
, которое равно Account.Id
. Выполнение запроса в FROM projets__r
или аналогичных вариантах завершается неудачей.
Я мог бы запустить запрос другим способом, SELECT Name, (SELECT Id from projets__r) FROM Account
который работает, но также возвращает все учетные записи без проекта и в результате работает чрезвычайно медленно. Это также исключает выполнение двух запросов и слияние, например, в Pandas.
Ответ №1:
После попытки десятков комбинаций, кажется, работает SELECT BorrowerBusiness__r.Name FROM Projet__c
. Я понятия не имею, почему, но привет…