Salesforce 如何在SOQL中进行嵌套查询?销售人员

Salesforce 如何在SOQL中进行嵌套查询?销售人员,salesforce,soql,junction,Salesforce,Soql,Junction,我在Salesforce.com中有2个自定义对象 一个是PersonAccount,一个是Accounts 在默认的“Account”对象中,我有一个名为user\u id的字段 PersonAccount充当连接表,将“Account”链接到Accounts PersonAccount亲自查找用户id(帐户) 如何构建查询以检查帐户中的某些内容以查找帐户中的所有匹配项 目前,Salesforce只允许单一级别的嵌套查询。可以按照以下方式进行: [SELECT ID, Name, Field1

我在Salesforce.com中有2个自定义对象

一个是PersonAccount,一个是Accounts

在默认的“Account”对象中,我有一个名为user\u id的字段

PersonAccount充当连接表,将“Account”链接到Accounts

PersonAccount亲自查找用户id(帐户)


如何构建查询以检查帐户中的某些内容以查找帐户中的所有匹配项

目前,Salesforce只允许单一级别的嵌套查询。可以按照以下方式进行:

[SELECT ID, Name, Field1 from Object__c WHERE Id IN ( SELECT Id FROM Object2__c WHERE Field2 = 'SomeValue')]
[SELECT lup_cust_accounts__r.Id, lup_cust_accounts__r.Name FROM PersonAccount__c WHERE lup_account__r.Name LIKE 'Test%'];
但是,对于连接对象,实际上不需要使用嵌套查询

不幸的是,您的描述不够清晰,无法理解您的特定对象设置,因此我将做出一些假设

您有三个对象,Accounts_uuC(您的自定义Accounts对象)、PersonAccount_uC(您的连接对象)和Account(默认Account对象)

PersonAccount\uuuC对象包含两个查找字段(对于真正的连接,它们应该是Master Detail)。第一个是账户c(我们称之为lup_cust_账户c)。第二个是帐户(我们称之为lup_帐户)。[顺便说一句,拥有Accounts和Account对象是一个非常糟糕的主意。它会把你搞砸,因为Salesforce会自动将单词复数,然后你会对哪个是哪个感到困惑。]

Salesforce允许在SOQL查询中查找点关系。因此,如果要在关联帐户对象的名称类似“Test”时从自定义帐户对象获取ID和名称,可以执行以下操作:

[SELECT ID, Name, Field1 from Object__c WHERE Id IN ( SELECT Id FROM Object2__c WHERE Field2 = 'SomeValue')]
[SELECT lup_cust_accounts__r.Id, lup_cust_accounts__r.Name FROM PersonAccount__c WHERE lup_account__r.Name LIKE 'Test%'];
注意双下划线r而不是双下划线c?这就是指示引用(查找)而不是特定字段值的方式