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