[firebase-br] Procedure

Caçula info em cacula.ind.br
Qua Set 20 08:36:24 -03 2006


Bom dia lista.

Estou desenvolvendo uma procedure, para selecionar os produtos mais 
vendidos. Estou fazendo uma seleção da tabela de produtos do pedido, mas 
também preciso do valor unitário que consta no cadastro do produto, mas 
não estou conseguindo. Veja como ficou

CREATE PROCEDURE PRODUTOS (
    DAT1 DATE,
    DAT2 DATE)
RETURNS (
    CODIGO INTEGER,
    QUANT NUMERIC(15,3),
    VALOR NUMERIC(15,3))
AS
begin
  /* Procedure Text */
  FOR SELECT P.COD_PRODUTO, D.VR_UNIT, MAX(P.QUANTIDADE) FROM 
T_PROD_PEDIDO P, T_PRODUTO D
  WHERE P.DT_EMISSAO BETWEEN :DAT1 AND :DAT2
  GROUP BY P.COD_PRODUTO
  ORDER BY MAX(P.QUANTIDADE) DESC INTO :CODIGO, :VALOR, :QUANT
  DO
  suspend;
end

Se deixar assim, dá erro, e se colocar o D.VR_UNIT no GROUP BY, ele me 
retorna informação errada. Como que faço pra agrupar por código de 
produto, e conseguir pegar o VR_UNIT da tabela de produto.

Obrigado

Alexandre Gonçalves


Mais detalhes sobre a lista de discussão lista