On 05-12-2011 12:37, Thiago wrote: > On 5/12/2011 13:04, Euler Taveira de Oliveira wrote: >> On 05-12-2011 11:57, Thiago wrote: >>> Euler, fiz da forma que me recomendou, utilizando um join, porém ainda >>> está aparecendo a seguinte mensagem de erro: >>> There is an entry for table "pr", but it cannot be referenced from this >>> part of the query. >>> >> Ugh? Qual a consulta utilizada? E a assinatura da função? > > Consulta: > select * > from public.tb_produtos pr > left join public.sp_est_dem(pr.codigo) as sp(r_codigo,r_est,r_dem) on > pr.codigo = sp.r_codigo > ^^^^^^^^^^^^^ Você não pode usar pr.codigo aqui.
Acho que você algo como: select pr.*, (public.sp_est_dem(pr.codigo)).r_est, (public.sp_est_dem(pr.codigo)).r_dem FROM public.tb_produtos pr; > Função: > CREATE OR REPLACE FUNCTION "public"."sp_est_dem" ( > "p_codigo" integer, > out "r_codigo" integer, > out "r_est" integer, > out "r_dem" inet > ) > RETURNS SETOF record AS > Mas a assinatura deve substituir 'SETOF record' por 'record'. -- Euler Taveira de Oliveira - Timbira http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral