【问题标题】:Complex query possible?可以进行复杂查询吗?
【发布时间】:2011-08-20 13:15:41
【问题描述】:

我有 3 个表,一个父表和 2 个子表。假设 Mother_c 是父母。那么 Child_c 和 Pet_c 是 2 个子表,它们具有指向 Mother_c 的主从关系指针。

我有来自 Child_c 的一行的 ID,我想从 Pet_c 中检索与该单个 Child_c 行的 Mother_c 对应的所有行_c .

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

【问题讨论】:

    标签: salesforce soql


    【解决方案1】:

    是的,这完全可以使用半连接 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'
                )
    

    【讨论】:

    • 谢谢!我不知道“IN”关键字。
    • 我忘记了这些是可用的 - force.com 平台的棘手部分之一是试图跟上发布!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多