Bom dia a todos,

  Eu preciso criar uma consulta que me retorno o código e o nome de todos os 
produtos cadastrados bem como as informações destes retornadas pela função.
  Mas ao executar a consulta

  select P2.COD, PCD.* from GCEPRO02 P2 left join
PCD_SUGESTAO_ESTMIN(GCEPRO02.COD) PCD on 1 = 1 order by P2.COD;

  me retorna o seguinte erro:

  "expressão da função no FROM não pode referenciar outras relações do mesmo
nível da consulta"

  Obs: A função PCD_SUGESTAO_ESTMIN me retorna 4 campos.

  Eu sei que daria para fazer assim:

  select P2.COD, (select QT1 from PCD_SUGESTAO_ESTMIN(GCEPRO02.COD)), (select
QT2 from PCD_SUGESTAO_ESTMIN(GCEPRO02.COD)), (select QT3 from
PCD_SUGESTAO_ESTMIN(GCEPRO02.COD)), (select QT4 from
PCD_SUGESTAO_ESTMIN(GCEPRO02.COD)) from GCEPRO02 P2 order by P2.COD;

  Mas assim eu acredito que seja bem mais lento.

  Existe uma melhor maneira de fazer isso?

Observações:
- A tabela GCEPRO02 contem o cadastro de produtos. 
- A função PCD_SUGESTAO_ESTMIN me retorna somente um registro contendo o 
estoque minimo atual, o sugerido e outros dados do código do produto 
informado como parametro.

Sem mais,

----------------------
Marlon David de Souza
Desenvolvimento
Sysmo Informática Ltda
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a