다음을 통해 공유


QueryExpression에서 왼쪽 우선 외부 조인을 사용하여 "포함 안 할" 레코드 쿼리

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

지난 2개월간 캠페인 활동이 없었던 모든 연락처를 찾는 것처럼 QueryExpression 클래스를 사용하여 왼쪽 우선 외부 조인을 사용하여 조인 테이블에서 필터링하는 쿼리를 수행할 수 있습니다. 이 유형의 쿼리를 사용하는 다른 일반적인 용도는 다음과 같은 서비스 케이스에서 집합에 "없는" 레코드를 찾는 것입니다.

  • 작업이 없는 모든 잠재 고객 찾기

  • 연락처가 없는 모든 거래처 찾기

  • 하나 이상의 작업이 있는 모든 잠재 고객 찾기

왼쪽 우선 외부 조인은 두번째 입력으로 첫 번째 입력의 조인에 부합되는 각 행을 반환합니다. 또한 두번째 입력과 일치하는 행이 없는 첫번째 입력의 모든 행을 반환합니다. 두번째 입력에서 일치되지 않는 행은 null 값으로 반환됩니다.

entityname 특성을 조건 연산자로 사용하여 QueryExpression에서 왼쪽 우선 외부 조인을 수행할 수 있습니다.entityname 특성은 조건, 필터 및 중첩 필터에서 유효합니다.

별칭을 사용하여 작업이 없는 모든 잠재 고객 찾기

다음 예제에서는 이 쿼리를 구성하는 방법을 보여 줍니다.

QueryExpression qx = new QueryExpression("lead");
qx.ColumnSet.AddColumn("subject");

LinkEntity link = qx.AddLink("task", "leadid", "regardingobjectid", JoinOperator.LeftOuter);
link.Columns.AddColumn("subject");
link.EntityAlias = "tsk";

qx.Criteria = new FilterExpression();
qx.Criteria.AddCondition("tsk", "activityid", ConditionOperator.Null);

다음 SQL과 동일합니다.

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

참고 항목

QueryExpression을 사용하여 쿼리 작성
null 값 테스트
QueryExpression 클래스 사용
QueryByAttribute 클래스 사용

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보