微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何为具有相同字段Level_1__c,Level_2__c,Level_3__c

如何解决如何为具有相同字段Level_1__c,Level_2__c,Level_3__c

我有一个名为Case_Type_Data__c的自定义对象1,具有 Level_1__c,Level_2__c,Level_3__c 并且我还有一个名为ERT_Case_Type__c的自定义对象2,具有相同的字段 Level_1__c,Level_2__c,Level_3__c

ERT_Case_Type__c 批量复制数据到 Case_Type_Data__c

现在,我尝试在工作台中编写SOQL,以找出未复制的记录

Select Level_1__c,Level_2__c,Level_3__c From Case_Type_Data__c Where Level_3__c NOT IN (Select Level_3__c From ERT_Case_Type__c)

工作台抛出错误

MALFORMED_QUERY: semi join sub selects can only query id fields,cannot use: 'Level_3__c'

请注意,ERT_Case_Type__c的 Id 和Case_Type_Data__c的 Id 不匹配,因此无法使用ID

请给我一个加入SOQL ,以获取未从** ERT_Case_Type__c **复制到 Case_Type_Data__c

的记录

关于, 卡罗琳

解决方法

您不能在SOQL中执行任意联接。如果Level_3__c不是一个ID字段,则错误消息指出,您将无法跨这些对象执行联接。

如果此字段为文本字段,则需要从Salesforce提取数据并在本地对其进行分析,或者编写Apex代码以分别对两个对象执行查询并提取所需的数据。考虑到您最初使用Batch Apex的声明,由于数据量大,后一种方法可能不可行。

,

这是查询select case__c,createddate,level_1__c,level_2__C,lEVEL_3__C from ert_case_type__c where createddate >= 2020-11-09T00:30:26.467-08:00 and case__c NOT IN (select case__C from case_type__C) order by createddate,如果有人在寻找答案

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。