我有 3 个表,一个父表和 2 个子表。可以说 Mother_ c 是父母。那么 Child _c 和 Pet_ c 是 2 个子表,它们具有指向 Mother _c 的主从关系指针。
我有来自 Child_c 的一行的 Id ,我想从 Pet _c 中检索与该单个Child_c 行的 Mother_c 相对应的所有行。
我想知道这是否可以在一个 SOQL 查询中实现?
我有 3 个表,一个父表和 2 个子表。可以说 Mother_ c 是父母。那么 Child _c 和 Pet_ c 是 2 个子表,它们具有指向 Mother _c 的主从关系指针。
我有来自 Child_c 的一行的 Id ,我想从 Pet _c 中检索与该单个Child_c 行的 Mother_c 相对应的所有行。
我想知道这是否可以在一个 SOQL 查询中实现?
是的,这完全可以使用半连接 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'
)