在 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. 著作權所有,並保留一切權利。 著作權