Salesforce 获取特定联系人的所有从属联系人的详细信息

Salesforce 获取特定联系人的所有从属联系人的详细信息,salesforce,soql,Salesforce,Soql,我使用的是这样的SOQL查询 SELECT Id,Name from Contact where FisrtName = 'ABC' and LastName ='DEF' 它工作得很好。现在,我想通过修改这个相同的SOQL查询来检索这个特定联系人的所有依赖联系人。我怎样才能做到这一点。 请帮我解决这个问题,查看联系人对象的“描述”详细信息“报告到”字段的关系为空,因此您似乎无法对此进行子查询 Schema.DescribeSObjectResult dsr = Contact.sObject

我使用的是这样的SOQL查询

SELECT Id,Name from Contact where FisrtName = 'ABC' and LastName ='DEF'
它工作得很好。现在,我想通过修改这个相同的SOQL查询来检索这个特定联系人的所有依赖联系人。我怎样才能做到这一点。
请帮我解决这个问题,查看联系人对象的“描述”详细信息“报告到”字段的关系为空,因此您似乎无法对此进行子查询

Schema.DescribeSObjectResult dsr = Contact.sObjectType.getDescribe();
List<Schema.ChildRelationship> crs = dsr.getChildRelationships();
for(Schema.ChildRelationship cr : crs){
    System.debug('Field = '+ cr.getField() + ' '+cr.getChildSObject() +' '+ cr.getRelationshipName());
}
Schema.DescribeSObjectResult dsr=Contact.sObjectType.getDescribe();
List crs=dsr.getChildRelationships();
for(Schema.ChildRelationship cr:crs){
System.debug('Field='+cr.getField()+''+cr.getChildSObject()+''+cr.getRelationshipName());
}
您很可能需要运行第二个查询,如下所示:

List<Contact> contacts = [SELECT Id,Name from Contact where FisrtName = 'ABC' and LastName ='DEF'];
List<Contact> relatedContacts = [SELECT Id,Name from Contact where ReportsToId IN :contacts];
List contacts=[从联系人中选择Id、姓名,其中FisrtName='ABC'和LastName='DEF'];
List relatedContacts=[选择Id,从联系人中选择姓名,其中ReportsToId位于:contacts];

您所说的依赖联系人是什么意思?您是说属于同一帐户的所有联系人吗?@GarethJordan No.对于从属联系人报告,STOID字段值将是父联系人的Id。谢谢。我已经用这种方式得到了答案。我只是想知道我是否可以在单一的Soql中得到结果。每当你需要检查时,只要描述对象和检查关系,我可以说不,但我想说明为什么,以供将来参考。