2015-12-21 8 views
0

У меня есть 2 пользовательских объекта в Salesforce.comКак выполнить вложенный запрос в SOQL? Salesforce

Один из них PersonAccount и один - это учетные записи.

в пределах по умолчанию «Счет» объект У меня есть поле, называемое user_id

PersonAccount выступает в качестве таблицы перехода связать «Счет» Аккаунты

PersonAccount делает поиск в Person для user_id Lookup (счета)

Как я могу построить запрос, чтобы проверить что-то в Account, чтобы найти все соответствующие элементы в Accounts?

ответ

0

В настоящее время Salesforce допускает только один уровень вложенных запросов. Это тростниковый быть сделано так:

[SELECT ID, Name, Field1 from Object__c WHERE Id IN (SELECT Id FROM Object2__c WHERE Field2 = 'SomeValue')] 

Однако, с целью перехода вы делаете на самом деле не нужно использовать вложенный запрос.

К сожалению, ваше описание недостаточно ясно, чтобы понять вашу конкретную настройку объекта, поэтому я собираюсь сделать некоторые предположения.

У вас есть три объекта: Accounts__c (ваши пользовательские учетные записи Objct), PersonAccount__c (ваш объект соединения) и учетная запись (объекты учетной записи по умолчанию).

Объект PersonAccount__c содержит два поля поиска (для истинного соединения, они должны быть Master-Detail). Первый - Accounts__c (назовем это lup_cust_accounts__c). Второй - для учетной записи (мы будем называть это lup_account__c). [В стороне это действительно плохая идея иметь объект Accounts and Account. Это приведет к тому, что Salesforce автоматически произведет плюрализацию слов, а затем вы будете в замешательстве относительно того, что есть.]

Salesforce позволяет искать точки в SOQL-запросах. Так что если вы хотите получить идентификатор и имя из пользовательских учетных записей объектов, когда имя связанного объекта банковского счета, как «тест», вы можете сделать следующее:

[SELECT lup_cust_accounts__r.Id, lup_cust_accounts__r.Name FROM PersonAccount__c WHERE lup_account__r.Name LIKE 'Test%']; 

Обратите внимание на двойное подчеркивание г вместо двойного подчеркивания гр? Так вы указываете ссылку (lookup), а не конкретное значение поля.

Смежные вопросы