问题: 使用下面链接的文档,我尝试将两个SOQL表内部连接在一起,但没有成功。有人能帮我找出问题所在吗?假设它与语法(即括号)有关。提前谢谢
连接文档:
Python SOQL代码:
records = sf.query_all('SELECT Event__c.Id, Event__c.Supplier__c,' +
' Event__c.Promo_Models__c, Event__c.Lead_Promo_Model_Name__c,' +
' Event__c.Event_Date__c, Consumer_Feedback__c,' +
' (SELECT Contact.Gender__c, Contact.Ethnicity__c, Contact.CreatedDate FROM Contact)' +
' FROM Event__c' +
' WHERE Event__c.Lead_Promo_Model__c IN (SELECT Contact.Id FROM Contact)' +
' AND Supplier__c LIKE \'ABCCompany%\'' +
' AND Event_Date__c > 2019-06-30' +
' AND Event_Date__c < 2020-07-01', include_deleted=False)
df_sf = pd.DataFrame(records['records'])
错误:
文件“”,第10行 '其中Event__c.Lead_Promo_Model__c(从联系人中选择Contact.Id)'+ ^ SyntaxError:无效语法
如果使用了从内置对象到自定义对象的关系,那么您需要阅读此文档页面Understanding Relationship Names, Custom Objects, and Custom Fields上的示例
您需要找到与
Contact
有关系的自定义字段Event__c.Lead_Promo_Model__c
的字段定义(此关系是WHERE条件的结果),并阅读“相关列表标签”和“子关系名称”行。默认情况下,两者都可能是“联系人”,但第一个可以是任何字符串,第二个可以是任何API名称。然后在“子关系名称”项中添加“\uu\r”将
(SELECT Contact.Gender__c,... FROM Contact)
替换为(SELECT Contact.Gender__c,... FROM Contact__r)
请参见替换的Contact__r
。就这些我希望所有其他部件都是正确的,或者可以很容易地由您修复。没有其他人知道您的自定义字段名称。您可以验证除了嵌套的SELECT之外的所有功能是否正常工作,然后添加一个子查询,其中包含本机字段
... (SELECT Contact.Id FROM Contacts__r) ...
,最后还包括联系人的自定义字段文档中的第二个屏幕截图在没有“相关列表标签”的情况下很少过时,但它对SOQL并不重要
相关问题 更多 >
编程相关推荐