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
我正在尝试设置一个查询,该查询将 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