Bruge en venstre ydre joinforbindelse i FetchXML til forespørgsel på poster, der er "ikke i"
Udgivet: januar 2017
Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Du kan bruge en venstre ydre joinforbindelse i FetchXML til at udføre en forespørgsel, der filtrerer på jointabellen for at finde alle de kontakter, der ikke har nogen kampagneaktiviteter i de sidste to måneder. En anden almindelig brug for denne forespørgselstype er at finde poster "ikke i" et sæt, sådan som i disse tilfælde:
Find alle de kundeemner, der ikke har nogen opgaver
Find alle de firmaer, der ikke har nogen kontakter
Find alle de kundeemner, der har en eller flere opgaver
En venstre ydre joinforbindelse returnerer hver række, der opfylder joinforbindelsens første input med det andet input. Den returnerer også rækker fra det første input, som ikke havde nogen tilsvarende rækker i det andet input. Ikke-tilsvarende rækker i det andet input returneres som null-værdier.
Du kan udføre en venstre ydre joinforbindelse i FetchXML via entityname-attributten som en betingelsesoperator. Attributten entityname er gyldig i betingelser, filtre og indlejrede filtre.
Du kan oprette en forespørgsel med en venstre ydre joinforbindelse ved hjælp af programmering og udføre en forespørgsel ved hjælp af RetrieveMultipleRequest, og du kan gemme forespørgslen ved at oprette en SavedQuery-post. Du kan åbne en gemt forespørgsel, der indeholder en venstre ydre joinforbindelse i Avanceret søgning eller en gemt forespørgselseditor i webprogrammet og udføre og få vist resultaterne, men nogle editorfunktioner er deaktiveret. Disse redigeringsprogrammer tillader ændringer i forespørgslen, f.eks. at ændre de kolonner, der er returneret, men editoren understøtter ikke ændring af venstre ydre joinforbindelse.
Eksempel: Find alle de firmaer, der ikke har nogen kundeemner
I følgende eksempel vises, hvordan du kan konstruere denne forespørgsel i FetchXML:
<fetch mapping='logical'>
<entity name='account'>
<attribute name='name'/>
<link-entity name='lead'
from='leadid'
to='originatingleadid'
link-type='outer'/>
<filter type='and'>
<condition entityname='lead'
attribute='leadid'
operator='null'/>
</filter>
</entity>
</fetch>
Eksempel: Find alle de kundeemner, der ikke har nogen opgaver, ved hjælp af et alias
I følgende eksempel vises, hvordan du kan konstruere denne forespørgsel i FetchXML:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="lead">
<attribute name="fullname" />
<link-entity name="task" from="regardingobjectid" to="leadid" alias="ab" link-type="outer">
<attribute name="regardingobjectid" />
</link-entity>
<filter type="and">
<condition entityname="ab" attribute="regardingobjectid" operator="null" />
</filter>
</entity>
<fetch/>
Dette svarer til følgende SQL:
SELECT lead.FullName
FROM Leads as lead
LEFT OUTER JOIN Tasks as ab
ON (lead.leadId = ab.RegardingObjectId)
WHERE ab.RegardingObjectId is null
Se også
Oprette forespørgsler med FetchXML
Eksempel: Brug aggregering i FetchXML
Brug FetchXML til at oprette en forespørgsel
Eksempel: Valider og udfør en gemt forespørgsel
Microsoft Dynamics 365
© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret