【发布时间】:2019-11-26 14:35:18
【问题描述】:
我需要从销售团队获取数据。我需要从两个自定义对象中获取数据。一世 用sql写过查询,谁能帮我把它转换成SOQL
【问题讨论】:
标签: salesforce soql salesforce-lightning
我需要从销售团队获取数据。我需要从两个自定义对象中获取数据。一世 用sql写过查询,谁能帮我把它转换成SOQL
【问题讨论】:
标签: salesforce soql salesforce-lightning
您可能知道,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 + '。
【讨论】: