Salesforce:SOQL 查询至少关联了 X 数量的 Master

Salesforce: SOQL to query Master that has at least X amount of details associated

我正在尝试设置一个查询,该查询将 return 哪些联系人与我们有超过 5 笔交易。我们有一个自定义的 sObject,它被(非常)命名为 contacts_deals__c,它充当联系人和 deals__c.

之间的中介 table

联系人是主要对象,Contacts_Deals__c是细节。 Return 至少有 5 个相关详细信息的所有联系人。

这是我想查询的内容:

SELECT name, (SELECT id 
              FROM contact.contact_deals__r) 
FROM Contact 
HAVING count(contact.contact_deals__r.id) > 4

这当然不行

切断 "HAVING" 子句 return 是一个名称列表以及与该名称关联的所有 ID。从技术上讲,我可以从这里开始工作,但我想添加一个条件,即至少应有 5 个 id returned.

我该怎么做?

最简单的方法是在联系人对象中创建汇总摘要字段以显示交易计数。仅当您需要在一个查询中获取它时才需要这样做。否则,您可以通过查询获取顶点代码,然后通过迭代进行过滤。然后你可以运行直接查询联系人本身。

SELECT name,rollup__c FROM Contact WHERE rollup__c > 4