我需要在state
而不是 open
中获取所有有电话的帐户,因此我创建了一个关于fetch的查询并获得了一些结果。
在查看我的搜索结果后,我发现我的所有帐户中至少有1个未打开的电话,但我需要获取其已连接的电话的全部未开启的帐户(可以&# 39; t在打开状态下甚至有1)是否可以通过提取来进行?
** by NOT OPEN我指的是已取消或已完成状态。
这是我的获取查询:
@"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>
<entity name='account'>
<attribute name='name' />
<order attribute='accountamount' descending='true' />
<link-entity name='phonecall' from='regardingobjectid' to='accountid' alias='ab'>
<filter type='and'>
<condition attribute='statecode' operator='ne' value='0' />
</filter>
</link-entity>
</entity>
</fetch>";
答案 0 :(得分:0)
您正在寻找的是Unmatch查询。这可以使用fetchxml在2个查询中实现。
首次查询:您必须通过打开的电话拨打所有帐户。
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" >
<entity name="account" >
<attribute name="accountid" />
<order attribute="accountamount" descending="true" />
<link-entity name="phonecall" from="regardingobjectid" to="accountid" alias="ab" >
<filter type="and" >
<condition attribute="statecode" operator="eq" value="0" />
</filter>
</link-entity>
</entity>
</fetch>
第二次查询:迭代&amp;将第一个查询帐户结果集传递为<value>
,如下所示,以过滤掉它们。
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" >
<entity name="account" >
<attribute name="name" />
<attribute name="primarycontactid" />
<attribute name="telephone1" />
<attribute name="accountid" />
<order attribute="name" descending="false" />
<filter type="and" >
<condition attribute="accountid" operator="not-in" >
<value><GUID of ACCOUNT1 with OPEN PHONECALL></value>
<value><GUID of ACCOUNT2 with OPEN PHONECALL></value>
<value><GUID of ACCOUNT3 with OPEN PHONECALL></value>
</condition>
</filter>
</entity>
</fetch>