将我的sql查询转换为crm中的queryexpression或fetchxml

时间:2016-03-12 07:36:49

标签: mysql fetchxml query-expressions

我有这个SQL查询,我试图从尚未创建opportunityId的机会实体中获取approvaldocument(批准文档是另一个实体的名称)。我不认为fetchxml支持这种查询。我是crm的新手,我的项目是crm 4.0版本。

这是sql查询:

Select OpportunityId from opportunity AS c left JOIN (select a.opportunitynameid from opportunity o
JOIN ApprovalDocument a ON 
a.opportunitynameid=o.OpportunityId) AS b ON c.OpportunityId=b.opportunitynameid
Where b.opportunitynameid IS NULL and statecode=0

我将其转换为fetchxml,但没有给出正确的结果。

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true"> 
    <entity name="opportunity"> <attribute name="opportunityid" /> 
       <link-entity name="approvaldocument" from="opportunitynameid" to="opportunityid" alias="a" link-type="outer"> <attribute name="opportunitynameid" /> 
       </link-entity> 
       <filter type="and"> 
          <condition entityname="a" attribute="opportunitynameid" operator="null" /> 
       </filter> 
    </entity> 
<fetch/>

1 个答案:

答案 0 :(得分:0)

本地,无法创建高级查找以查询是否存在关系。但是,有几种不同的解决方案可以实现此功能:

解决方法: 使用完整的记录集创建营销列表,然后使用条件的反转删除记录。执行此操作的步骤很好地列在this article.

修改FetchXML和第三方解决方案 虽然高级查找不能显示&#34; Not In&#34;结果,底层的FetchXML确实支持这个功能。手动构建此类提取的示例是shown here。此外,还有一些第三方工具利用此功能在高级查找中直接提供Not In功能。我所知道的最佳解决方案是available here