我有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
我如何将这与机会一起使用?
由于
答案 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];