Salesforce新手SOQL查询问题:通过记录ID获取Account关联的Contact
SOQL查询实现方案
方法1:直接查询Contact对象(最常用)
通过筛选Contact的AccountId标准关联字段匹配目标Account的记录ID即可,你可以根据业务需要自定义返回的字段:
SELECT Id, Name, Email, Phone, Title FROM Contact WHERE AccountId = '替换为实际的Account记录ID'
方法2:Account对象关联查询子Contact
如果需要同时获取Account本身的信息和其下所有关联Contact数据,可以使用父子关系查询写法:
SELECT Id, Name, Industry, (SELECT Id, Name, Email, Phone FROM Contacts) FROM Account WHERE Id = '替换为实际的Account记录ID'
注意:子关系的API名称为默认复数形式Contacts,如果是自定义对象的关联关系,需按实际配置的关系API名称调整。
注意事项
- 在Apex代码中使用时,建议通过绑定变量传入Account ID,避免硬编码和SOQL注入风险,示例:
Id targetAccountId = '你的Account ID变量'; List<Contact> accountContacts = [SELECT Id, Name, Email FROM Contact WHERE AccountId = :targetAccountId];
- 父子关联查询默认最多返回200条子记录,如果对应Account下的Contact数量超过200,需要通过关系查询的动态遍历方式获取全量数据。
内容的提问来源于stack exchange,提问作者user44323
相关产品推荐
相关产品推荐

