次の方法で共有


クエリで列比較を使用する

Microsoft Dataverse では、ユーザーはSDK for .NETを使用して、 FetchXML、Web API、または QueryExpression を使用して、次の条件演算子の列比較を実行できます。

FetchXml Web API ConditionOperator
eq eq Equal
ne ne NotEqual
gt gt GreaterThan
ge ge GreaterEqual
lt lt LessThan
le le LessEqual

この操作により、ある列を特定の値と比較して、検出されたレコードをすべて返したり、2つの列を比較して、一致する値を持つレコードをすべて返したりすることができます。

制限

Dataverse 列比較には、次の制限事項があります:

  • Web API と QueryExpression を使用すると、単一テーブル内の列のみを比較できます。

    FetchXml を使用すると、他の関連テーブルの列を比較できます。 テーブル間の比較 を参照してください。

  • 同時に比較できるのは 2 つの列だけです。

  • 複数値条件演算子 (つまり: in) には対応していません。

  • 拡張条件演算子 (つまり: "creditlimit > spends+1000") には対応していません。

  • 互換性のない列比較はサポートされていません。 たとえば、「int 対 int」の列は有効な比較ですが、「int 対 string」 の列は有効な比較ではありません。

列の比較 FetchXML

次の例は、を使用して列を比較する方法を示しています FetchXML。

<fetch>
  <entity name='contact' >
    <attribute name='firstname' />
    <filter>
      <condition attribute='firstname' operator='eq' valueof='lastname'/>
    </filter>
  </entity>
</fetch>

FetchXML の場合、条件要素の valueof 属性は、選択した列と比較する列の名前を指定します。 前の例では、firstname 列と lastname 列が比較され、両方の列に同じ値を含むレコードが返されます。

テーブル間の比較

FetchXML のみの場合、関連テーブルのフィールド値のみを比較できます。 次の例では、contact fullname 列が account name 列と一致する行を返します。

<fetch> 
  <entity name='contact'>
    <attribute name='contactid' />
    <attribute name='fullname' />
    <filter type='and'>
      <condition attribute='fullname' operator='eq' valueof='acct.name' />
    </filter>
    <link-entity name='account' from='accountid' to='parentcustomerid' link-type='outer' alias='acct'>
      <attribute name='name' />
    </link-entity>
  </entity>
</fetch>

link-entity 要素は alias 属性を使用する必要があり、valueof パラメータの値はそのエイリアスと関連テーブル内の列名を参照する必要があります。

関連情報

Web API を使用した列の比較
SDK を使用した列の比較

注意

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

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