次の方法で共有


左外部結合を QueryExpression で使用して "存在しない" 行をクエリする

QueryExpression クラスの使用して、左外部結合を使用し、結合の表をフィルタリングするクエリを実行します。たとえば、過去 2 か月間のキャンペーン活動がない、取引先担当者をすべて検索できます。 このクエリタイプの別のよくある使用法では、次のような場合には存在しないといった、あるセットには "存在しない" テーブル行 (レコード) を検索するクエリです。

  • タスクのないすべての潜在顧客を検索する
  • 取引先担当者のないすべての取引先企業を検索する
  • 1つか、2つのタスクがあるすべての潜在顧客を検索する

左外部結合では、2 番め入力で最初の入力の結合を満たす各列を返します。 また、2 番目入力で一致する列がない最初の入力列を返します。 2 番めの一致しない列が null 値として返されます。

条件演算子として entityname 列を使用して、QueryExpression で左外部結合を実行できます。 entityname 列は、条件、フィルターおよび入れ子フィルターで有効です。

エイリアス名を使用して、タスクのないすべての潜在顧客を検索する

次の例は、このクエリの作成方法を示しています。

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

これは次のSQLと等価です。

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

参照

QueryExpression でクエリを作成する
QueryExpression クラスの使用
QueryByAttribute クラスの使用

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。