Join 用于在两个自定义对象(Salesforce Apex)之间一对一联接的SOQL查询

Join 用于在两个自定义对象(Salesforce Apex)之间一对一联接的SOQL查询,join,salesforce,apex-code,one-to-one,soql,Join,Salesforce,Apex Code,One To One,Soql,我在Salesforce中有两个自定义对象:Object1和Object2 Object2有一个引用Object1的查找字段。 Object2中的多个记录可以引用相同的Object1记录。 我必须构建一个SOQL查询,它将Object1和Object2连接起来,其中匹配是一对一的 即,对于Object1和Object2中的值,我希望得到以下结果: Id=2的Object1中的记录不是结果,因为它在Object2中有两条记录引用它。 我想知道如何通过SOQL查询实现这一点 提前谢谢 因为您只需要

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

即,对于Object1和Object2中的值,我希望得到以下结果:

Id=2的Object1中的记录不是结果,因为它在Object2中有两条记录引用它。 我想知道如何通过SOQL查询实现这一点


提前谢谢

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

select max(id) object2Id, 
       max(name) object2Val, 
       max(object1__r.name) object1Val 
from object2__c 
group by object1__c 
having count(object1__c) =1
为我工作(在我的对象中使用名称字段而不是值,但这不重要)


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

select max(id) object2Id, 
       max(name) object2Val, 
       max(object1__r.name) object1Val 
from object2__c 
group by object1__c 
having count(object1__c) =1
为我工作(在我的对象中使用名称字段而不是值,但这不重要)