クエリで列比較を使用する
Microsoft Dataverse では、ユーザーは FetchXML、Web API、.NET 用 SDK を使用した 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 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示