SOQL查询在两个自定义对象之间进行一对一连接(Salesforce Apex)

时间:2012-07-17 17:27:53

标签: join salesforce apex-code one-to-one soql

我在Salesforce中有两个自定义对象:Object1和Object2 Object2有一个引用Object1的查找字段。 Object2中的多个记录可以引用相同的Object1记录。 我必须构建一个SOQL查询,它将Object1和Object2连接在一起,匹配是一对一的。

即。使用Object1和Object2中的那些值,我希望得到这样的结果:

With those values in Object1 and Object2 I want that result

Object1中Id = 2的记录不在结果中,因为它在Object2中有两个引用它的记录。 我想知道如何使用SOQL查询来实现这一目标。

提前致谢!

1 个答案:

答案 0 :(得分:4)

因为您只想要一行,所以您可以偷偷地使用聚合函数从聚合查询中获取值。

select max(id) object2Id, 
       max(name) object2Val, 
       max(object1__r.name) object1Val 
from object2__c 
group by object1__c 
having count(object1__c) =1

为我工作(使用名称字段而不是我的对象中的值,但这不重要)。

sample query result