Spaltenvergleich in Abfragen verwenden

In Microsoft Dataverse können Benutzer einen Spaltenvergleich für die folgenden Bedingungsoperatoren mit FetchXML, Web-API oder QueryExpression mit dem SDK für .NET durchführen.

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

Diese Operatoren lassen den Vergleich einer Spalte gegen einen bestimmten Wert zu und gibt alle gefundenen Datensätze zurück, oder lässt den Vergleich zweier Spalten zu, um alle Datensätze mit einem übereinstimmenden Wert zurückzugeben.

Einschränkungen

Der Dataverse Spaltenvergleich hat die folgenden Einschränkungen:

  • Mit Web API und QueryExpression können Sie nur Spalten innerhalb einer einzelnen Tabelle vergleichen.

    Mit FetchXml können Sie Spalten in anderen verwandten Tabellen vergleichen. Siehe Kreuztabellenvergleiche.

  • Es können jeweils nur zwei Spalten verglichen werden.

  • Mehrwertige Bedingungsoperatoren werden nicht unterstützt (z. B. „in“).

  • Erweiterte Bedingungsoperatoren werden nicht unterstützt (d.h. „creditlimit > spends+1000“).

  • Inkompatibler Spaltenvergleich wird nicht unterstützt. Ein Beispiel: „int vs. int“ Spalten ist ein gültiger Vergleich, aber „int vs. Zeichenfolge“ Spalten ist kein gültiger Vergleich.

Spaltenvergleich mit FetchXML

Das folgende Beispiel zeigt, wie Sie mit FetchXML Spalten vergleichen können.

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

Bei FetchXML gibt das Attribut valueof des Bedingungselements den Namen der Spalte an, die mit der ausgewählten Spalte verglichen werden soll. Im vorherigen Beispiel wird die Spalte firstname mit der Spalte lastname verglichen und gibt alle Datensätze zurück, die in beiden Spalten denselben Wert enthalten.

Siehe Kreuztabellenvergleiche

Nur mit FetchXml können Sie Feldwerte in verwandten Tabellen vergleichen. Das folgende Beispiel gibt Zeilen zurück, in denen die Spalte Kontakt fullname mit der Spalte Konto name übereinstimmt.

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

Das link-entity Element muss ein alias Attribut verwenden und der Wert des valueof Parameters muss auf diesen Alias ​​und den Spaltennamen in der zugehörigen Tabelle verweisen.

Siehe auch

Spaltenvergleich mit der Web API
Spaltenvergleich mit dem SDK

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