Freigeben über


Verwenden eines linken äußeren Joins in QueryExpression zur Abfrage von Zeilen, die „nicht in“ sind

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 die Suche nach Tabellenzeilen (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 einen linken äußeren Join in QueryExpression ausführen, indem Sie die Spalte entityname als Bedingungsoperator verwenden. Die Spalte entityname ist in Bedingungen, Filtern und verschachtelten Filtern 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
Verwenden der QueryExpression-Klasse
Verwenden der QueryByAttribute-Klasse

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).