问题描述
我正在使用用于Python的simpleSalesforce库来查询SalesForce。
我正在查看SalesForce中的两个不同的对象:帐户和后端(父子)。帐户中的ID通过acc_id与后端的记录匹配
我正在尝试这样做:
sf.query_all("SELECT AccEmail__c,(select custid from Backend__c) from Account where Id in (select acc_id from Backend__c where custid LIKE '%CUST%')")
但是我得到的响应显示:
格式错误的请求-无法理解这种关系-在查询调用的FROM部分中。如果尝试使用自定义关系,请确保在自定义关系名称后附加“ __r”。请参考您的WSDL或describe调用以获取适当的名称。“,'errorCode':'INVALID_TYPE'}]
我在做什么错了我该如何解决?
解决方法
阅读有关关系的信息
- https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_relationships_understanding.htm
- https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_relationships_and_custom_objects.htm
您的查询很有可能必须是类似
SELECT AccEmail__c,(select custid__c from Backends__r)
from Account
where Id in (select account__c from Backend__c where custid__c LIKE '%CUST%')
甚至
SELECT AccEmail__c,(select custid__c from Backends__r where custid__c LIKE '%CUST%')
from Account
where Id in (select account__c from Backend__c where custid__c LIKE '%CUST%')
或者如果您希望放平
SELECT CustId__c,Account__r.AccEmail__c
FROM Backend__c
WHERE CustId__c LIKE '%CUST%'