Del via


Bruge en venstre ydre joinforbindelse i QueryExpression til forespørgsel til poster, der er "ikke i"

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Du kan bruge en venstre ydre joinforbindelse ved hjælp af klassen QueryExpression til at udføre en forespørgsel, der filtrerer på join-tabellen for at finde alle de kontaktpersoner, der ikke har nogen kampagneaktiviteter i de sidste to måneder. En anden almindelig brug for denne forespørgselstype er at finde poster "ikke i" et sæt, sådan som i disse tilfælde:

  • Find alle de kundeemner, der ikke har nogen opgaver

  • Find alle de firmaer, der ikke har nogen kontakter

  • Find alle de kundeemner, der har en eller flere opgaver

En venstre ydre joinforbindelse returnerer hver række, der opfylder joinforbindelsens første input med det andet input. Den returnerer også rækker fra det første input, som ikke havde nogen tilsvarende rækker i det andet input. Ikke-tilsvarende rækker i det andet input returneres som null-værdier.

Du kan udføre en venstre ydre joinforbindelse i QueryExpression ved hjælp af attributten entityname som en betingelsesoperator. Attributten entityname er gyldig i betingelser, filtre og indlejrede filtre.

Find alle de kundeemner, der ikke har nogen opgaver, ved hjælp af et alias

I følgende eksempel vises, hvordan du kan konstruere denne forespørgsel:

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

Dette svarer til følgende SQL:

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

Se også

Oprette forespørgsler med QueryExpression
Teste for en null-værdi
Bruge klassen QueryExpression
Brug klassen QueryByAttribute

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret