我无法获取父对象的名称,其中子对象是CombinedAttachments。 我使用的SOQL如下所示,并按预期工作。
SELECT(SELECT Id,Title,RecordType,LastModifiedDate, 来自CombinedAttachments WHERE ParentId的CreatedBy.Name,ParentId ='001b0000009ovxS'Order By LastModifiedDate DESC limit 100)FROM Account WHERE Id ='001b0000009ovxS'
不可能添加像Parent.Name或Parent.Account.Name这样的字段。 但是,在像这样的父子查询的其他情况下,通过使用像Parent.CaseNumber或Who.Name这样的点表示法来引用父字段是很简单的。 似乎是因为在ParentID中可能存在多个引用(帐户,资产,广告系列,案例,联系人,合同,电子邮件模板,事件,潜在客户,机会,产品2,解决方案,任务)
答案 0 :(得分:0)
使用多态关系字段(例如CombinedAttachments.ParentId
),该字段可以引用大量类型。
在这种情况下,您只能选择所有被引用类型共有的字段子集。
您需要对帐户进行二次查询以提取必填字段。
或者,您可以撤消联接以获取“帐户”字段,但现在您已丢失了CombinedAttachments字段。
SELECT Id, Name
FROM Account
WHERE Id IN (Select ParentID from CombinedAttachments)
除此之外,还有一个专门针对Salesforce问题的Salesforce StackExchange site。
答案 1 :(得分:0)
一种经过测试的方法是在父方使用父字段名称,而不是从子查询中引用它:
SELECT Name,Id,(SELECT Id,Title,RecordType,LastModifiedDate, 来自CombinedAttachments WHERE ParentId =的CreatedBy.Name,ParentId '001b0000009ovxS'Order By LastModifiedDate DESC limit 100)FROM 帐户WHERE Id ='001b0000009ovxS'