我有3个表,一个父表和两个子表。让我们说Mother_ c是父母。然后Child _c和Pet_ c是2个子表,它们具有指向Mother _c的主 - 细节关系指针。
我有来自Child_ c的一行的Id,我想检索Pet _c中与该单个Child _c行的Mother_ c对应的所有行
我想知道在一个SOQL查询中是否可以这样做?
答案 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'
)