我有这个FetchXML查询,它根据所有者用户所处的业务以及机会成功的概率返回所有记录。我报告的所有字段都是强制性的,将被填写。我遇到的问题是我的一个关联帐户 - “new_dealerid”帐户可能并不总是被填充,如果我包括这个我只能获得31条记录(所有这些都有经销商),如果我不这样做我会得到32 (只有新的没有经销商)。那么有没有人知道如果没有相关帐户,如何将此属性默认为空字符串?
<request i:type="b:RetrieveMultipleRequest" xmlns:b="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<b:Parameters xmlns:c="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<b:KeyValuePairOfstringanyType>
<c:key>Query</c:key>
<c:value i:type="b:FetchExpression">
<b:Query><fetch mapping="logical" version="1.0" >
<entity name="opportunity">
<attribute name="estimatedvalue" />
<attribute name="name" />
<attribute name="new_opportunitytype" />
<attribute name="new_salesphase" />
<attribute name="estimatedclosedate" />
<link-entity name="systemuser" from="systemuserid" to="ownerid">
<attribute name="fullname"/>
</link-entity>
<link-entity name="account" from="accountid" to="new_dealerid">
<attribute name="name"/>
</link-entity>
<link-entity name="account" from="accountid" to="customerid">
<attribute name="name"/>
</link-entity>
<filter type="and">
<condition attribute="salesstagecode" operator="eq" value="'.$prob.'" />
<condition attribute="statuscode" operator="eq" value="1" />
</filter>
<link-entity name="systemuser" from="systemuserid" to="ownerid">
<link-entity name="businessunit" from="businessunitid" to="businessunitid">
<filter type="and">
<condition attribute="name" operator="eq" value="'.$bu.'" />
</filter>
</link-entity>
</link-entity>
</entity>
</fetch></b:Query>
</c:value>
</b:KeyValuePairOfstringanyType>
</b:Parameters>
<b:RequestId i:nil="true"/><b:RequestName>RetrieveMultiple</b:RequestName>
</request>
答案 0 :(得分:1)
澄清一下,您想获得所有32条记录吗?
在这种情况下,您需要使用外部联接。
<link-entity name="account" from="accountid" to="new_dealerid" link-type="outer">