SQL genérico que o Access e ODBC / Oracle podem entender
Eu tenho uma consulta do MS Access que se baseia em uma tabela ODBC vinculada (Oracle).
Estou solucionando o mau desempenho da consulta aqui:Acesso não traduzindo corretamenteTOP
predicado para ODBC / Oracle SQL.
SELECT ri.*
FROM user1_road_insp AS ri
WHERE ri.insp_id = (
select
top 1 ri2.insp_id
from
user1_road_insp ri2
where
ri2.road_id = ri.road_id
and year(insp_date) between [Enter a START year:] and [Enter a END year:]
order by
ri2.insp_date desc,
ri2.length desc,
ri2.insp_id
);
A documentação diz:
Ao detectar um problema, você pode tentar resolvê-lo alterando a consulta local. Isso geralmente é difícil de executar com êxito, mas você pode adicionar critérios enviados ao servidor, reduzindo o número de linhas recuperadas para processamento local. Em muitos casos, você descobrirá que, apesar de seus esforços, o Office Access ainda recupera algumas tabelas inteiras desnecessariamente e executa o processamento final de consultas localmente.
No entanto, ocorreu-me que eu realmente não entendo que tipo de SQL devo escrever para deixar feliz o Access e o ODBC / Oracle.
Eu deveria estar escrevendo algum tipo deSQL genérico que o Access pode entender em uma consulta localE que pode ser facilmente traduzido para ODBC / Oracle SQL? SQL genérico é algo real?