Aujourd'hui, j'ai rencontré le même problème avec une jointure interne. En créant une Fonction de table suggéré par codechurn ou en utilisant une table temporaire suggéré par user1935511 ou en changeant les Join Types suggéré par cymorg n'y a pas d'options pour moi, j'aime partager ma solution.
J'ai utilisé Join Hints pour conduire l'optimiseur de requête dans la bonne direction, car le problème semble provenir de la stratégie de jointure de boucles imbriquées avec la table distante localement . Pour moi HASH , FUSIONNER et TÉLÉCOMMANDE les conseils de jointure ont fonctionné.
Pour vous Télécommande ne sera pas une option car elle ne peut être utilisée que pour les opérations de jointure interne. Donc, utiliser quelque chose comme ce qui suit devrait fonctionner.
select *
from eopf.Batch b
join eopf.BatchFile bf
on b.BatchID = bf.BatchID
left outer merge join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
on bf.ReferenceID = du.documentUploadID;