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).
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für