复杂查询可能吗?

时间:2011-08-19 09:33:20

标签: salesforce soql

我有3个表,一个父表和两个子表。让我们说Mother_ c是父母。然后Child _c和Pet_ c是2个子表,它们具有指向Mother _c的主 - 细节关系指针。

我有来自Child_ c的一行的Id,我想检索Pet _c中与该单个Child _c行的Mother_ c对应的所有行

我想知道在一个SOQL查询中是否可以这样做?

1 个答案:

答案 0 :(得分:2)

是的,半连接SOQL完全可以实现。我用这样的标准CRM对象测试了这个:

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

为了引导您完成此操作,使用给定的联系人ID,您首先找到父帐户,然后遍历到子案例。在您的自定义对象示例中,它将非常相似,但会使用__r自定义关系名称:

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