首页 > 解决方案 > FetchXml:只获取所有相关记录都满足条件的记录

问题描述

动态 365 v8.2。FetchXml。

每条isv_entity1记录都可以与一条或多isv_entity2条记录链接(一对多)。我只 需要获取所有链接isv_entity1记录都对应某些条件的记录。如果至少有一个链接记录不满足条件,则该记录不应落入选择中。isv_entity2isv_entity2isv_entity1

我怎样才能通过 FetchXml 做到这一点?

如果我将使用此查询:

<fetch distinct='true' >
  <entity name='isv_entity1' >
    <attribute name='isv_entity1id' />    
    <link-entity name='isv_entity2' from='isv_entity2id' to='isv_entity2id' >
      <filter type='and' >
          <condition attribute='isv_someProp' operator='eq' value='someValue' />
      </filter>
    </link-entity>
  </entity>
</fetch>

然后我得到至少有一个链接对应条件的isv_entity1记录。但这与我需要的不一样。isv_entity2

标签: dynamics-crmmicrosoft-dynamicsfetchxml

解决方案


您需要的是:查找所有子记录都具有给定值的所有父记录(但不仅仅是一些子记录)

以上是您要求的 sql 等价物,不幸的是 FetchXML 不支持子查询。

因此,要么您必须使用两个查询,要么查询所有记录并迭代以验证/过滤符合您的条件的结果


推荐阅读