I was working on some work and got a requirement to get Cases of linked with Account and Contact. 
In a normal scenario, we can always do two Calls like
Cases where CustomerID = Account GUID and Cases where CustomerID = Contact GUID
Somehow, I didn't like this approach of making two calls. Spending sometime helped to reduce a call and I was able to retrieve Cases related to Account and Contact in one call.
Here is the FetchXML I have used and uitype plays a major role here.
<fetch version='1.0'
output-format='xml-platform' mapping='logical' distinct='false'>
                                     
<entity name='incident'>
                                       
<attribute name='title' />
                                       
<attribute name='ticketnumber' />
                                       
<attribute name='createdon' />
                                        <attribute
name='incidentid' />
                                       
<attribute name='caseorigincode' />
                                       
<order attribute='title' descending='false' />
                                       
<filter type='and'>
                                          <condition
attribute='customerid' operator='in'>
                                           
<value uitype='account'>{ACCOUNT-GUID}</value>
                                           
<value uitype='contact'>{Contact-GUID}</value>
                                         
</condition>
                                       
</filter>
                                    
</entity>
                                   
</fetch>
 


















































 
