You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写SOQL查询获取Case关联的ParentCaseNumber与ContactName?

解决方案:实现需求的SOQL查询语句

可以通过SOQL的关联查询和左外连接实现你的需求,具体语句如下:

SELECT 
    c.Id, 
    c.CaseNumber, 
    u.Name AS ContactName,
    c.Parent.CaseNumber AS ParentCaseNumber
FROM Case c
LEFT OUTER JOIN User u ON c.ContactId = u.ContactId

语句说明:

  1. 获取父案例编号:通过c.Parent.CaseNumber直接访问Case对象的Parent关联关系,自动获取对应父Case的CaseNumber;如果没有父案例(ParentId为空),该字段会返回null,后续可根据需要转换为#N/A。
  2. 关联User获取联系人名称:使用LEFT OUTER JOIN关联Case和User对象,通过c.ContactId = u.ContactId的匹配条件,将Case的ContactId对应到User的Name字段,并命名为ContactName。
  3. 别名简化:用c作为Case的别名、u作为User的别名,让语句结构更清晰。

注意事项:

  • 如果同一个ContactId对应多个User记录,查询会返回多条重复的Case记录(每个匹配的User对应一条)。这种情况下可以添加过滤条件(比如WHERE u.IsActive = true)或者LIMIT 1来确保每个Case只返回一条结果,例如:
    SELECT 
        c.Id, 
        c.CaseNumber, 
        (SELECT Name FROM Users WHERE ContactId = c.ContactId AND IsActive = true LIMIT 1).Name AS ContactName,
        c.Parent.CaseNumber AS ParentCaseNumber
    FROM Case c
    
  • SOQL本身不会返回#N/A,当ParentId为空时,ParentCaseNumber字段会返回null,如果需要显示为#N/A,需要在查询结果的后续处理中做转换。

内容的提问来源于stack exchange,提问作者Leonardo Lira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:40:38