Salesforce SOQL查询返回包括NULL在内的所有值
我有一个简单的SOQL查询: select Count(ID), CampaignId, Campaign.Name from CampaignMember where CampaignId in ('701U0000000MVoQ', '701U0000000MLFR', '701U0000000MVoL') group by CampaignId, Campaign.Name 查询结果返回2条记录,因为在两个活动成员列表中有联系人Salesforce SOQL查询返回包括NULL在内的所有值,salesforce,soql,Salesforce,Soql,我有一个简单的SOQL查询: select Count(ID), CampaignId, Campaign.Name from CampaignMember where CampaignId in ('701U0000000MVoQ', '701U0000000MLFR', '701U0000000MVoL') group by CampaignId, Campaign.Name 查询结果返回2条记录,因为在两个活动成员列表中有联系人 我还想带回第三条记录,其中计数为0。在SOQL中有没有
我还想带回第三条记录,其中计数为0。在SOQL中有没有一种方法可以做到这一点,我不相信有一个ISNULL函数可以在select上使用。您必须在SOQL查询中添加一个称为Having的附加部分。拥有就像一个Where子句
select Count(ID), CampaignId, Campaign.Name
from CampaignMember
where CampaignId in ('701U0000000MVoQ', '701U0000000MLFR', '701U0000000MVoL')
group by CampaignId, Campaign.Name
HAVING COUNT(ID) >0
Having类似于Where子句,但Having子句仅适用于也出现在GROUP BY中的列。需要聚合查询的特殊原因是什么?一种方法是使用关系,如:
SELECT Id, Name, (SELECT Id FROM CampaignMembers)
FROM Campaign
WHERE Id IN ('701U0000000MVoQ', '701U0000000MLFR', '701U0000000MVoL')
在以后的代码中,可以这样访问它
List<Campaign> campaigns = [Id, Name, (SELECT Id FROM CampaignMembers)
FROM Campaign
WHERE Id IN ('701U0000000MVoQ', '701U0000000MLFR', '701U0000000MVoL')];
for(Campaign c : campaigns){
System.debug(c.Name + ': ' + c.CampaignMembers.size());
}
拥有只能进一步限制行的数量,您打算如何使用它来扩展行?感谢眼霜,这比我原来的方式更有意义。