FetchXML에서 왼쪽 우선 외부 조인을 사용하여 "포함 안 할" 레코드 쿼리
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
지난 2개월간 캠페인 활동이 없었던 모든 연락처를 찾는 것처럼 FetchXML에서 왼쪽 우선 외부 조인을 사용하여 조인 테이블에서 필터링하는 쿼리를 수행할 수 있습니다. 이 유형의 쿼리를 사용하는 다른 일반적인 용도는 다음과 같은 서비스 케이스에서 집합에 "없는" 레코드를 찾는 것입니다.
작업이 없는 모든 잠재 고객 찾기
연락처가 없는 모든 거래처 찾기
하나 이상의 작업이 있는 모든 잠재 고객 찾기
왼쪽 우선 외부 조인은 두번째 입력으로 첫 번째 입력의 조인에 부합되는 각 행을 반환합니다. 또한 두번째 입력과 일치하는 행이 없는 첫번째 입력의 모든 행을 반환합니다. 두번째 입력에서 일치되지 않는 행은 null 값으로 반환됩니다.
entityname 특성을 조건 연산자로 사용하여 FetchXML에서 왼쪽 우선 외부 조인을 수행할 수 있습니다.entityname 특성은 조건, 필터 및 중첩 필터에서 유효합니다.
왼쪽 우선 외부 조인을 사용하여 프로그래밍 방식으로 쿼리를 만들고, RetrieveMultipleRequest를 사용하여 쿼리를 실행하고, SavedQuery 레코드를 만들어 쿼리를 저장할 수 있습니다. 상세하기 찾기 또는 저장된 쿼리 편집기에서 왼쪽 우선 외부 조인이 포함된 저장된 쿼리를 열고 결과를 실행하고 볼 수 있지만 일부 편집기 기능은 비활성화됩니다. 해당 편집기를 사용하면 쿼리를 수정할 수 있지만 편집기는 왼쪽 우선 외부 조인 변경을 지원하지 않습니다.
예제: 잠재 고객이 없는 모든 거래처 찾기
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을 사용하여 쿼리 구성
샘플: 저장된 쿼리 유효성 검사 및 실행
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보