Salesforce SOQL-通过联系电子邮件查找帐户


Salesforce SOQL - find account by contact email

我使用PHP和SOQL来查询Salesforce。

我正试图通过其中一个联系人的电子邮件地址来查找该帐户。

到目前为止,我有这个:

SELECT Id, Name, (SELECT Id, Name FROM Contacts WHERE Email = 'joe@schmoe.com')
FROM Account

但它生成了整个帐户列表,第三列为空,除了(可能是列表太大)实际上匹配的地方。

    Id                  Name                Contacts
1   xxxxxxxxxxxxxxxxxx  Jane Doe    
2   yyyyyyyyyyyyyyyyyy  Richard Roe
3   zzzzzzzzzzzzzzzzzz  Mortimer Snerd  

我一直在想如何在没有真正JOIN的情况下做到这一点——有人能为我指明正确的方向吗?

您需要以这种方式进行查询:

SELECT Id, Name
FROM Account
WHERE Id IN (SELECT AccountId FROM Contacts WHERE Email = 'joe@schmoe.com')