Acredito que assim deva funcionar:

SELECT cod,data,hora,duracao,numero,localidade,tipo,descricao,r.descri 
AS rdescr,l.descri AS ldescr
FROM particular p
RIGHT JOIN ligac_ent l ON (l.cod = p.cod AND l.numero = p.numero)
RIGHT JOIN ramal r ON (l.cod = r.cod)
WHERE data between :pvar2 and :pvar3
UNION
SELECT cod,data,hora,duracao,numero,localidade,tipo,descricao,r.descri 
AS rdescr,l.descri AS ldescr
FROM servico s
RIGHT JOIN ligac_ent l ON (l.cod = s.cod AND l.numero = s.numero)
RIGHT JOIN ramal r ON (l.cod = r.cod)
WHERE data between :pvar2 and :pvar3


Veja que apenas adicionei parenteses apos ON

Luiz Rubens Reis Filho escreveu:
>
> Bom dia!
>
> Utilizo em minhas aplicações o SGBD Interbase, no entanto optei mudar 
> para o PostGree, onde ainda sou iniciante no mesmo.
>
> Utilizo em uma aplicação com banco Interbase a seguinte consulta SQL:
>
> SELECT cod,data,hora,duracao,numero,localidade,tipo,descricao,r.descri 
> AS rdescr,l.descri AS ldescr
>
> FROM particular p
>
> RIGHT JOIN ligac_ent l
>
> ON l.cod = p.cod
>
> AND l.numero = p.numero
>
> RIGHT JOIN ramal r
>
> ON l.cod = r.cod
>
> WHERE data between :pvar2 and :pvar3
>
> UNION
>
> SELECT cod,data,hora,duracao,numero,localidade,tipo,descricao,r.descri 
> AS rdescr,l.descri AS ldescr
>
> FROM servico s
>
> RIGHT JOIN ligac_ent l
>
> ON l.cod = s.cod
>
> AND l.numero = s.numero
>
> RIGHT JOIN ramal r
>
> ON l.cod = r.cod
>
> WHERE data between :pvar2 and :pvar3
>
>  
>
> Se possivel poderiam orientar-me como o mesmo ficaria no PostGree.
>

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a