Soql查询以获取机会中帐户的所有相关联系人

时间:2012-03-22 11:26:11

标签: salesforce soql

我有SOQL查询,根据where条件查询某些记录。

select id, name,account.name ... <other fields> from opportunity where eventname__c='Test Event'

我还需要在机会中获取该帐户的相关联系详细信息。即我需要在机会中添加所有属于该帐户一部分的联系人电子邮件ID。

对于每个机会,我需要获得与该机会相关联的所有联系人电子邮件。

我无法弄清楚如何处理这个问题。  参考文档,我可以使用查询

获取帐户的联系信息
SELECT Name,
(
SELECT LastName
FROM Contacts
)
FROM Account

我如何将这与机会一起使用?

由于

1 个答案:

答案 0 :(得分:6)

问题是你正试图从机会到其父(帐户),然后再回到孩子(联系人)。

我认为你必须分两个阶段来做,例如:大致如下:

id[] accountids = new id[]{};
for (opportunity opp : [select accountid from opportunity where eventname__c='Test Event'])
{
      accountids.add (opp.accountid);  
}
account[] acclist = [select name, (select email from contacts) from account where id in :accountIds];