Dzisiaj miałem ten sam problem z wewnętrznym sprzężeniem. Jako tworzenie funkcji o wartościach tabeli sugerowane przez codechurn lub za pomocą tabeli tymczasowej sugerowane przez user1935511 lub zmienić Typy dołączania sugerowane przez cymorg nie ma dla mnie opcji, lubię się dzielić moim rozwiązaniem.
Użyłem Wskazówki dotyczące dołączania aby skierować optymalizator zapytań we właściwym kierunku, ponieważ wydaje się, że problem pojawia się w przypadku strategii łączenia zagnieżdżonych pętli ze zdalną tabelą lokalnie. Dla mnie HASZ , POŁĄCZ i ZDALNIE wskazówki dotyczące dołączania działały.
Dla Ciebie ZDALNIE nie będzie opcją, ponieważ może być używany tylko do operacji sprzężenia wewnętrznego. Więc użycie czegoś takiego jak poniżej powinno działać.
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;