Запрос Soql, чтобы получить все связанные контакты учетной записи в возможности - PullRequest
1 голос
/ 22 марта 2012

У меня есть запрос SOQL, который запрашивает некоторые записи на основе условия where.

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

Мне также нужно получить соответствующие контактные данные для учетной записи в возможности. т.е. мне нужно добавить адреса электронной почты контакта, которые все являются частью учетной записи в возможности.

Для каждой возможности мне нужно получить все адреса электронной почты контактов, которые связаны с учетной записью.

Я не могу понять, как подойти к этому. Ссылаясь на документацию, я могу получить контактную информацию учетной записи, используя запрос

SELECT Name,
(
SELECT LastName
FROM Contacts
)
FROM Account

Как я могу использовать это вместе с возможностью?

Спасибо

1 Ответ

6 голосов
/ 22 марта 2012

Проблема в том, что вы пытаетесь перейти от возможности к ее родителю (учетной записи), а затем обратно к детям (контактам).

Я думаю, вам придется сделать это в два этапа, например, примерно как:

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]; 
...