2011-08-19 82 views
2

我有3个表,父表和2个子表。可以说母亲_ c是父母。然后Child _c和Pet_c是具有主 - 细节关系指向母亲 _c的2个子表。复杂的查询可能吗?

我有一个行的id从Child_ C,我想检索所有的宠物 _c对应于单个子 _c行的Mother_ c中的行。

我想知道这是否可能在一个SOQL查询?

回答

2

是的,这是完全可能的半连接SOQL。我用这样的标准CRM对象测试了这一点:

SELECT Id, 
     (SELECT Id FROM Cases) 
FROM Account 
WHERE Id IN (SELECT AccountId 
      FROM Contact 
      WHERE Id = '0036000000qCwp9' 
      ) 

引导您完成这一点,与给定的CONTACT ID,你先找到父帐户,然后遍历回落到儿童的案件。在你的自定义对象的例子中,它会非常相似,但会使用__r自定义关系名称:

SELECT Id, 
     (SELECT Id FROM Pet__r) 
FROM Mother__c 
WHERE Id IN (SELECT Mother__c 
      FROM Child__c 
      WHERE Id = '003a000000qCwp9' 
      ) 
+0

谢谢!我不知道'IN'关键字。 – Joe

+0

我忘记了这些是可用的 - force.com平台的一个棘手的部分是试图跟上发布! –