Запрос соединения SOQL на основе пользовательского дочернего элемента, переходящего к стандартному родительскому элементу

#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 . Я понятия не имею, почему, но привет…