我在Salesforce中有两个自定义对象:Object1和Object2 Object2有一个引用Object1的查找字段。 Object2中的多个记录可以引用相同的Object1记录。 我必须构建一个SOQL查询,它将Object1和Object2连接在一起,匹配是一对一的。
即。使用Object1和Object2中的那些值,我希望得到这样的结果:
Object1中Id = 2的记录不在结果中,因为它在Object2中有两个引用它的记录。 我想知道如何使用SOQL查询来实现这一目标。
提前致谢!
答案 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
为我工作(使用名称字段而不是我的对象中的值,但这不重要)。