我被Dynamics CRM 2011困住了。我想创建SOAP RetrieveMultiple xml,它将使用基于外键的内部联接从两个不同的表中获取数据。
我尝试了很多方法但却无法取得成功。
对于我的场景,我们假设表A和B在那里。 A - (id,name,address_id) B - (srno,address_id,area,city,zip)
现在,我想从表A和表中获取详细信息。 B基于以下查询,
选择A.id,A.name,B.area,B.city,B.zip 来自A. INNER JOIN B ON A.address_id = B.address_id
我对Dynamics CRM 2011完全陌生。
如果你能分享一些有价值的例子,那就太棒了。
提前致谢。
我的SOAP XML
<s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>
<s:Body>
<RetrieveMultiple xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>
<query i:type='a:QueryExpression' xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>
<a:EntityName>A</a:EntityName>
<a:ColumnSet>
<a:AllColumns>false</a:AllColumns>
<a:Columns xmlns:b='http://schemas.microsoft.com/2003/10/Serialization/Arrays'>
<b:string>name</b:string>
<b:string>area</b:string>
<b:string>city</b:string>
<b:string>zip</b:string>
</a:Columns>
</a:ColumnSet>
<a:Distinct>address_id</a:Distinct>
<a:LinkEntities>
<a:LinkEntity>
<a:LinkFromAttributeName>address_id</a:LinkFromAttributeName>
<a:LinkFromEntityName>A</a:LinkFromEntityName>
<a:LinkToEntityName>B</a:LinkToEntityName>
<a:LinkToAttributeName>address_id</a:LinkToAttributeName>
<a:JoinOperator>Inner</a:JoinOperator>
<a:LinkCriteria>
<a:FilterOperator>And</a:FilterOperator>
<a:Conditions>
<a:Condition>
<a:AttributeName>address_id</a:AttributeName>
<a:Operator>Equal</a:Operator>
<a:Values>
<a:Value xsi:type="xsd:string">123454</q1:Value>
</a:Values>
</a:Condition>
</a:Conditions>
</a:LinkCriteria>
</a:LinkEntity>
</a:LinkEntities>
</query>
</RetrieveMultiple>
</s:Body>
</s:Envelope>
此致 Ashish Mishra
答案 0 :(得分:0)
您只能在相关实体(1:N),where a.Id = b.aId
之间进行内部联接,您需要从该地址检索记录,并从该地址检索B记录。