Utilizzare un left outer join in QueryExpression per eseguire query per i record "non contenuti" in un set
Data di pubblicazione: gennaio 2017
Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
È possibile utilizzare un left outer join nella classe QueryExpression per eseguire una query che filtri la tabella di join, per trovare, ad esempio, tutti i contatti in cui non sono presenti attività della campagna negli ultimi due mesi. Un altro comune utilizzo per questo tipo di query è finalizzato a trovare i record "non contenuti" un un set, come nei casi seguenti:
Consente di trovare tutti i lead per i quali non esistono attività
Consente di trovare tutti gli account per i quali non esistono contatti
Consente di trovare tutti i lead per i quali non esistono una o più attività
Un left outer join restituisce ogni riga che soddisfa il join del primo input con il secondo input. Restituisce inoltre tutte le righe del primo input che non ha righe corrispondenti nel secondo input. Le righe non corrispondenti nel secondo input vengono restituite come valori null.
È possibile eseguire un left outer join in QueryExpression utilizzando l'attributo entityname come operatore condizionale. L'attributo entityname è valido nelle condizioni, nei filtri e nei filtri annidati.
Consente di trovare tutti i lead per i quali non esistono attività, utilizzando un alias
Nell'esempio seguente viene illustrato come creare questa query:
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);
Questo è l'equivalente della seguente istruzione SQL:
SELECT lead.FullName
FROM Leads as lead
LEFT OUTER JOIN Tasks as ab
ON (lead.leadId = ab.RegardingObjectId)
WHERE ab.RegardingObjectId is null
Vedere anche
Compilare query con QueryExpression
Test per un valore null
Utilizzare la classe QueryExpression
Utilizzare la classe QueryByAttribute
Microsoft Dynamics 365
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright