Dúvida sobre como montar uma consulta específica

Bom dia a todos !

Tenho uma aplicação onde preciso montar uma consulta utilizando um select pouco convencional.
Este select retorna uma lista de documentos que não estão na tabela.
ps: banco Postgres.

Na minha aplicação anterior, em Delphi, este select funciona perfeitamente:

select a.documento -1 as numero_documento from documentos a
where (a.documento <> 1)
and not exists (select b.documento from documentos b
where b.documento = (a.documentos-1))
order by documento

Quando tento utilizar este select em uma consulta com grid simples, não funciona.
Gera erro como se fosse uma instrução sql inválida, acho.
Há alguma forma de mudar o select que será carregado para o grid antes de o grid ser montado ?
Ou poderia utilizar este select em uma aplicação controle, mas aí não sei como exibir estes dados em um grid nesta aplicação.

Poderiam ajudar ?

Bom dia!! Tenta criando uma view

Crie uma tabela com as colunas que seu select retorna.
Uma Stored Procedure com parâmetros pára alimentar essa tabela em cima da sua instrução.

Execute a stored prodedure no evento onscriptinit da consulta.

Quanto a consulta, basta cria-la em cima dessa tabela.

Bom dia pessoal, obrigado pelo retorno !

Sei que daria para usar uma view ou procedure, acontece que algumas bases eu não posso alterar, nem criar nada , não tenho permissão, e não quero depender do dba.

Por isso teria que ver uma forma de me virar com selects…

Utilize SQLite para criar a tabela de uso temporário.