自定义对象左连接的 SOQL 查询
SOQL Query for Left Join for custom objects
我需要从销售团队获取数据。我需要从两个自定义对象中获取数据。我
已在 sql 中编写查询 谁能帮我将其转换为 SOQL
您可能知道,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 + '
.
我需要从销售团队获取数据。我需要从两个自定义对象中获取数据。我 已在 sql 中编写查询 谁能帮我将其转换为 SOQL
您可能知道,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 + '
.