[firebase-br] Select MAX do MAX

Danilo Gomes danrgomes em gmail.com
Sex Fev 15 14:42:07 -03 2008


Ola Renato obrigado pela atenção mas via order by nao da pois eu preciso de
somente um registro ai  . acabei achando uma solucao via procedure ...porem
via select sem chance ..

eis ai ..a ideia ..


CREATE PROCEDURE PEGA_MAIOR_VENCTO
RETURNS (
    NUMERO INTEGER,
    VENCIMENTO DATE,
    PAGTO DATE,
    VALOR_PAGO NUMERIC(15,2),
    VALOR NUMERIC(15,2),
    DIFRENCA NUMERIC(15,2),
    CDCLIENTE INTEGER)
AS
DECLARE VARIABLE     ppVENCTO DATE;
DECLARE VARIABLE     ppCD_CLIENTE INTEGER;
DECLARE VARIABLE     PNUMERO INTEGER;
DECLARE VARIABLE     PVENCIMENTO DATE;
DECLARE VARIABLE     PPAGTO DATE;
DECLARE VARIABLE     PVALOR_PAGO NUMERIC(15,2);
DECLARE VARIABLE     PVALOR NUMERIC(15,2);
DECLARE VARIABLE     PDIFRENCA NUMERIC(15,2);
DECLARE VARIABLE     PCDCLIENTE INTEGER;
begin
FOR
SELECT MAX(CA.VENCIMENTO) AS VENCTO,
       CA.CD_CLIENTE
FROM T16_CONTAS_RECEBER CA
WHERE CA.PAGTO IS NOT NULL
GROUP BY 2
INTO
 ppVENCTO,
 ppCD_CLIENTE
DO
  BEGIN
     SELECT
       T16.NUMERO,
       T16.VENCIMENTO,
       T16.PAGTO,
       T16.VALOR,
       T16.VALOR_PAGO,
       (T16.VALOR - T16.VALOR_PAGO),
       T16.CD_CLIENTE
     FROM T16_CONTAS_RECEBER T16
     WHERE T16.VENCIMENTO = :ppVENCTO AND T16.CD_CLIENTE = :ppCD_CLIENTE
      INTO
       PNUMERO,
       PVENCIMENTO,
       PPAGTO,
       PVALOR,
       PVALOR_PAGO,
       PDIFRENCA,
       PCDCLIENTE;

       if ((pvalor - PVALOR_PAGO)>0) then
        begin
               NUMERO = pNUMERO;
               VENCIMENTO = pVENCIMENTO;
               PAGTO = pPAGTO;
               VALOR = pVALOR;
               VALOR_PAGO = pVALOR_PAGO;
               DIFRENCA = pDIFRENCA;
               CDCLIENTE = pCDCLIENTE;

               SUSPEND;
        end




  END
end




2008/2/15, renato <centriscorps em gmail.com>:
>
> Que tal incluir no final da sua instrução sql a cláusula ORDER BY
> CA.VALOR_PAGO DESC?
>
> Renato
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista