求助:如何用SOQL提取关联最高AnnualRevenue账户的联系人?查询报错
正确实现关联最高年度营收账户的联系人查询
原查询错误原因
- 第一段查询:子查询
select MAX(account.AnnualRevenue) from contact不符合SOQL语法规则,无法从Contact表聚合关联的Account字段值,正确的做法是直接从Account表获取最大营收。 - 第二段查询:逻辑方向正确,但SOQL对作为标量比较值的子查询存在解析限制,导致报错。
正确的SOQL查询写法
方式一:分步查询(直观易操作)
先执行查询获取最高年度营收值:
SELECT MAX(AnnualRevenue) FROM Account
再用得到的数值替换[最高营收数值],查询对应的联系人:
SELECT Name, Account.AnnualRevenue FROM Contact WHERE Account.AnnualRevenue = [最高营收数值]
方式二:单语句关联查询(高效便捷)
通过嵌套子查询直接匹配拥有最高营收的账户ID,一次性获取目标联系人:
SELECT Name, Account.AnnualRevenue FROM Contact WHERE AccountId IN ( SELECT Id FROM Account WHERE AnnualRevenue = (SELECT MAX(AnnualRevenue) FROM Account) )
内容的提问来源于stack exchange,提问作者Harish Rudroju
相关产品推荐
相关产品推荐

