2

我有 3 个表,一个父表和 2 个子表。可以说 Mother_ c 是父母。那么 Child _c 和 Pet_ c 是 2 个子表,它们具有指向 Mother _c 的主从关系指针。

我有来自 Child_c 的一行的 Id ,我想从 Pet _c 中检索与该单个Child_c 行的 Mother_c 相对应的所有行。

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

4

1 回答 1

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'
            )
于 2011-08-20T05:15:41.647 回答