首页 > 解决方案 > 标准对象和自定义对象之间的 SOQL 内连接

问题描述

我正在尝试从两个相关对象中查询数据,但收到“在查询调用的 FROM 部分中不理解关系‘Case_Comment__c’”错误

我的查询如下

SELECT Id,
CaseNumber,
Status, (SELECT Text__c FROM Case_Comment__c) 
FROM Case 
WHERE Id IN (Select Case__c from Case_Comment__c)

Case_Comment__c 中的 Case__c 等于 Case 中的 Id

标签: soql

解决方案


如果可以的话,你应该反过来工作:

SELECT Text__c, Case__c, Case__r.CaseNumber, Case__r.Status FROM Case_Comment__c

如果您真的想处理亲子关系,则必须使用正确的字段:

SELECT
    Id,
    CaseNumber,
    Status,
    (SELECT Text__c FROM Case_Comments__r) 
FROM
    Case 
WHERE
    Id IN (Select Case__c from Case_Comment__c)

请注意,我将第一个 Case_Comment__c 更改为 Case_Comments__r

要确保该字段确实是 Case_Comments__r,您可以使用工作台:在 Utilities、Rest Explorer 中,使用 URL:/services/data/v46.0/sobjects/Case/describe,查看 childRelationShips 并找到 relationshipName

希望这可以帮助


推荐阅读