内部连接两个没有关系的SOQL对象

时间:2019-06-11 19:12:35

标签: salesforce soql

我不熟悉SOQL或Salesforce配置,但是有人要求我提供一种工具来轻松将文件作为对象的附件导入。

我正在使用Salesforce中的开发者控制台来解决这个问题。我发现附件是名为“ File_Manager_File__c”的自定义对象类型。该对象包含多个字段,例如“ File_Name__c”,“ Id”,以及最相关的“ Parent_ID__c”。但是,据我所知,“ Parent_ID__c”是Apex类型:字符串(实际上我对Salesforce的理解有限)不是真正的子关系。另一个字段“ Parent_Object_name__c”是Apex类型:字符串,并返回我希望附加了文件的其他对象(例如“工作”,“合同”,“机会”)

由于似乎没有实际的关系,所以仍然有一种方法可以在SOQL中加入此Object和可以附加文件的对象,例如“ Order”(以“ ID”作为字段)吗?

2 个答案:

答案 0 :(得分:0)

听起来好像有人笨拙地重新实现了Salesforce中现成的基于内容的附件功能。使用文本字段是因为Salesforce不允许自定义多态关系,例如本机LinkedEntityId连接对象上的ContentDocumentLink

如果没有在架构中定义关系,则无法在SOQL中执行联接。可以使用诸如Data Loader之类的工具通过将Parent_ID__cParent_Object_name__c之类的值直接填充到001000000000001Account中来导入这些记录,但是您将无法查询这些记录,而无需使用Apex或以任何外部客户端编写的语言综合执行联接。

答案 1 :(得分:-1)

你可以在数据库中导入这些数据,例如Postgresql。只在postgresql中创建表并导入数据。因此您可以进行任何查询。