【问题标题】:SOQL Query for Left Join for custom objects自定义对象左连接的 SOQL 查询
【发布时间】:2019-11-26 14:35:18
【问题描述】:

我需要从销售团队获取数据。我需要从两个自定义对象中获取数据。一世 用sql写过查询,谁能帮我把它转换成SOQL

【问题讨论】:

    标签: salesforce soql salesforce-lightning


    【解决方案1】:

    您可能知道,Salesforce SOQL 没有明确的 JOIN 子句。它会根据相关的对象字段为您隐式执行此操作。这意味着您必须查询 Account_Enrollment__c 并遍历字段以获取相关的 Enrollment_Program__c 查找关系。

    另一个问题是 Salesforce 仅执行基于主键和外键的联接,因此您查询中的 EP.Crop_Year__c = AE.Crop_Year__c 将不起作用。

    所以,话虽如此,你可以试试这个:

    SELECT Enrollment_Program__c, Enrollment_Program__e.Name,
     Enrollment_Program__r.Crop_Year__c, Enrollment_Program__r.Targeted_Enrollment_Segments__c,
     Enrollment_Program__r.Description__c, Enrollment_Program__r.Start_Date__c,
     Enrollment_Program__r.End_Date__c 
    FROM Account_Entrollment_Program__c WHERE Account__c = 'zyz'
    

    如果您事先知道 Crop_Year__c 的值是什么,您可以将其添加到您的查询中:

    AND Crop_Year__c=:year AND Enrollment_Program__c.Crop_Year__c=:year
    

    关于查询的一些细节: __r 后缀是获取查询中寻址的查找对象的方式。如果你只对 id 感兴趣,可以使用__c:year 是您将参数 year 传递给查询的方式。如果您想将其附加为文本,您可以使用... Crop_Year='+ year + '

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-17
      • 2016-05-29
      相关资源
      最近更新 更多