共用方式為


在 FetchXML 中使用左外部聯結,查詢記錄 "not in"

 

發行︰ 2016年11月

適用於: Dynamics CRM 2015

您可以在 FetchXML 中使用左外部聯結執行查詢,在聯結表上篩選,例如尋找在過去兩個月沒有任何行銷活動的所有連絡人。 此種查詢的另一個一般用法是尋找「不在」集合中的記錄,例如在這些情況下:

  • 尋找沒有工作的所有潛在客戶

  • 尋找沒有連絡人的所有客戶

  • 尋找有一個或多個工作的所有潛在客戶

左外部聯結會傳回符合第一個輸入與第二個輸入的聯結的每列。 也會從第一個輸入中傳回沒有第二個輸入相符列的所有列。 第二個輸入的不相符列傳回為 Null 值。

您可以使用 entityname 屬性為條件運算子,在 FetchXML 中執行左外部聯結。entityname 屬性在條件、篩選和巢狀篩選中有效。

您可以程式設計方式使用左外部聯結建立查詢,使用 RetrieveMultipleRequest 執行查詢,以及建立 SavedQuery 記錄儲存查詢。 您可以在 Web 應用程式中的進階尋找或已儲存查詢編輯器,開啟包含左外部聯結的已儲存查詢,以及執行和檢視結果,但是某些編輯器功能停用。 這些編輯器允許修改查詢,例如變更傳回的欄,但編輯器不支援變更左外部聯結。

範例:尋找沒有潛在客戶的所有客戶

下列程式碼顯示如何建構 FetchXML 查詢:

<fetch mapping='logical'>
 <entity name='account'>
  <attribute name='name'/>
  <link-entity name='lead'
               from='leadid'
               to='originatingleadid'
               link-type='outer'/>
  <filter type='and'>
   <condition entityname='lead'
              attribute='leadid'
              operator='null'/>
  </filter>
 </entity>
</fetch>

範例:使用別名,尋找沒有工作的所有潛在客戶

下列程式碼顯示如何建構 FetchXML 查詢:

<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
  <entity name="lead">
    <attribute name="fullname" />
    <link-entity name="task" from="regardingobjectid" to="leadid" alias="ab" link-type="outer">
       <attribute name="regardingobjectid" />
    </link-entity>
    <filter type="and">
        <condition entityname="ab" attribute="regardingobjectid" operator="null" />
    </filter>
  </entity>
<fetch/>

這相當於下列 SQL:

SELECT lead.FullName
FROM Leads as lead
LEFT OUTER JOIN Tasks as ab
ON (lead.leadId  =  ab.RegardingObjectId)
WHERE ab.RegardingObjectId is null

另請參閱

使用 FetchXML 建立查詢
範例:使用 FetchXML 的彙總
使用 FetchXML 建構查詢
範例:驗證及執行儲存的查詢

© 2017 Microsoft. 著作權所有,並保留一切權利。 著作權