Delen via


Gebruik een left outer join in QueryExpression voor het uitvoeren van query's voor records "niet in"

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

U kunt een left outer join met de QueryExpression klasse gebruiken door een query uit te voeren met filters op de jointabel, zoals om alle contactpersonen te vinden die geen campagneactiviteiten in afgelopen twee maanden hebben gehad. Een veelgebruikt ander gebruik voor dit type query is het vinden van records "niet in" een reeks, zoals in deze gevallen:

  • U vindt alle leads die geen taken hebben

  • U vindt alle accounts die geen contactpersonen hebben

  • U vindt alle leads die één of meer taken hebben

Een left outer join levert elke rij op die tegemoet komt aan de join van de eerste invoer met de tweede invoer. Het levert ook alle rijen op van de eerste invoer die geen overeenkomende rijen in tweede de invoer had. De niet-overeenkomende rijen in de tweede invoer worden gevonden als null-waarden.

U kunt een left outer join in QueryExpression uitvoeren door het kenmerk entityname als voorwaardenoperator te gebruiken. Het kenmerk entityname geldig in voorwaarden, filters, en genestelde filters.

U vindt alle leads die geen taken hebben, met een alias

In het volgende voorbeeld ziet u hoe u deze query construeert:

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);

Dit komt overeen met de volgende SQL:

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

Zie ook

Bouw query's met QueryExpression
Testen op een nulwaarde
De klasse QueryExpression gebruiken
De klasse QueryByAttribute gebruiken

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht