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

如何通过Salesforce REST API获取自身或关联服务近两日修改的合同?

Salesforce SOQL 查询满足条件的合同(含关联服务更新)

完全不用反向查询,直接用SOQL的现有语法就能实现你的需求,两种可行方案如下:

方案一:使用EXISTS子句

EXISTS可以检查合同是否存在符合条件的关联包含服务,结合主查询的自身修改条件,就能精准筛选出目标合同:

SELECT LastModifiedDate, Id, Name,
       (SELECT LastModifiedDate, Id, Name 
        FROM Included_Services__r 
        WHERE LastModifiedDate > 2023-08-17T00:00:00Z)
FROM Contract__c
WHERE LastModifiedDate > 2023-08-17T00:00:00Z
OR EXISTS (
    SELECT Id 
    FROM Included_Services__r 
    WHERE LastModifiedDate > 2023-08-17T00:00:00Z
)

这个查询会返回两类合同:

  • 自身在过去两天内修改的合同
  • 自身未修改,但存在过去两天内修改的关联包含服务的合同

同时子查询只会返回符合条件的包含服务数据,不会出现空的关联结果集,因为EXISTS已经确保了这类合同存在符合要求的关联服务。

方案二:用子查询匹配合同ID

通过子查询获取所有近两天修改的包含服务对应的合同ID,再和主查询的自身修改条件做逻辑或:

SELECT LastModifiedDate, Id, Name,
       (SELECT LastModifiedDate, Id, Name 
        FROM Included_Services__r 
        WHERE LastModifiedDate > 2023-08-17T00:00:00Z)
FROM Contract__c
WHERE LastModifiedDate > 2023-08-17T00:00:00Z
OR Id IN (
    SELECT Contract__c  -- 这里填写包含服务对象中关联合同的外键字段API名
    FROM Included_Service__c  -- 这里填写包含服务对象的API名称(不是关系名)
    WHERE LastModifiedDate > 2023-08-17T00:00:00Z
)

这种方式同样能达到需求,而且返回的数据量可控,不会因为反向查询导致数据膨胀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:52:33