Verwenden einer linken äußeren Verknüpfung in QueryExpression für Abfragen nach Datensätzen, die „nicht in“ sind.
Veröffentlicht: November 2016
Gilt für: Dynamics CRM 2015
Sei können eine linke äußere Verknüpfung verwenden, indem Sie mit der QueryExpression-Klasse eine Abfrage ausführen, in der die Verknüpfungstabelle gefiltert wird, z. B. zum Suchen aller Kontakte, die in den letzten beiden Monaten keine Kampagnenaktivität hatten. Eine weitere allgemeine Verwendung dieses Abfragetyps ist das Suchen von Datensätzen, die „nicht in“ sind, wie in folgenden Fällen:
Suchen aller Leads, die über keine Tasks verfügen.
Suchen aller Firmen, die über keine Kontakte verfügen
Suchen aller Leads, die mindestens eine Task verfügen.
Eine linke äußere Verknüpfung gibt jede Zeile zurück, die der Verknüpfung der ersten Eingabe mit der zweiten Eingabe entspricht. Es werden auch alle Zeilen aus der ersten Eingabe zurückgegeben, die in der zweiten Eingabe keine Übereinstimmung haben. Die nicht übereinstimmenden Zeilen in der zweiten Eingabe werden als Nullwerte zurückgegeben.
Sie können eine linke äußere Verknüpfung in QueryExpression ausführen, indem Sie das Attribut entityname als Bedingungsoperator verwenden. Das Attribut entityname ist auch für die Bedingungen, Filter und geschachtelte Filter gültig.
Suchen aller Leads, die keine Aufgaben haben, mithilfe eines Alias
Im folgenden Beispiel wird gezeigt, wie diese Abfrage aufgebaut ist:
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);
Dies ist äquivalent zu folgendem SQL:
SELECT lead.FullName
FROM Leads as lead
LEFT OUTER JOIN Tasks as ab
ON (lead.leadId = ab.RegardingObjectId)
WHERE ab.RegardingObjectId is null
Siehe auch
Erstellen von Abfragen mit QueryExpression
Test auf einen Nullwert
Verwenden der QueryExpression-Klasse
Verwenden der QueryByAttribute-Klasse
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright