[firebase-br] SELECT MAX(CAMPO) com Condição específica

Giovani Rochê giovaniroche em msn.com
Qui Set 17 12:27:49 -03 2009


Ronaldo rodou certinho só q demorou bem mais para a consulta ser realizada.
Como tem mts registros ta bem pesada. Se tive algo do tipo:
MAX(CR2.DAT_PAGTO WHERE CR.STATUS = 0) AS PGTO

acho q seria + rápido pq ae iria diminiur o cruzamento de dados com menos 1 tabela.

> Date: Thu, 17 Sep 2009 09:02:53 -0300
> From: ronamore em gmail.com
> To: lista em firebase.com.br
> Subject: Re: [firebase-br]	SELECT MAX(CAMPO) com Condição específica
> 
> Não sei como fica a questao do Group by, mas tente...
> 
> SELECT C.CODIGO,ATIVO ,C.COD_CLI, C.NUM_CONTR, COD_CAT,
> COD_FUNC,C.OBSERVACAO,
>  DATA, CANCELADO, DATA_CANCEL, INADIM, DATVENCCARENCIA, C.STATUS,
>  VARLOR_PARCELA, DATA_VENCIM, CONT_BENE, COBRADOR, CL.NOME AS CLIENTE,
> CT.DESCR AS CATEGORIA,
>  MIN(CR.DAT_VENC) AS INICIO, MAX(CR.DAT_VENC) AS FIM, MAX(CR2.DAT_PAGTO) AS
> PGTO
>  FROM CONTRATO C,CLIENTE CL, CATEGORIA CT,  CONTA_A_RECEBER CR,
> CONTA_A_RECEBER CR2
>  WHERE C.COD_CLI = CL.CODIGO AND C.COD_CAT = CT.CODIGO
>   AND CR.COD_CLI = CL.CODIGO AND CR.COD_CONTR = C.CODIGO
>  AND CR2.COD_CLI = CL.CODIGO AND CR2.COD_CONTR = C.CODIGO
> AND CR2.STATUS = 0
>   AND CL.NOME LIKE '%'
>  AND ATIVO = 'S'
>  AND CANCELADO <> 'S'
>  AND C.STATUS = 0
>  GROUP BY C.CODIGO,ATIVO ,C.COD_CLI, C.NUM_CONTR, COD_CAT,
> COD_FUNC,C.OBSERVACAO,
>  DATA, CANCELADO, DATA_CANCEL, INADIM, DATVENCCARENCIA, C.STATUS,
>  VARLOR_PARCELA, DATA_VENCIM, CONT_BENE, COBRADOR, CLIENTE,  CATEGORIA
>  ORDER BY CL.NOME
> 
> 
> 2009/9/17 Giovani Rochê <giovaniroche em msn.com>
> 
> >
> > Olha só o meu SELECT como é:
> >  SELECT C.CODIGO,ATIVO ,C.COD_CLI, C.NUM_CONTR, COD_CAT,
> > COD_FUNC,C.OBSERVACAO,
> >  DATA, CANCELADO, DATA_CANCEL, INADIM, DATVENCCARENCIA, C.STATUS,
> >  VARLOR_PARCELA, DATA_VENCIM, CONT_BENE, COBRADOR, CL.NOME AS CLIENTE,
> > CT.DESCR AS CATEGORIA,
> >  MIN(CR.DAT_VENC) AS INICIO, MAX(CR.DAT_VENC) AS FIM, MAX(CR.DAT_PAGTO) AS
> > PGTO
> >  FROM CONTRATO C,CLIENTE CL, CATEGORIA CT,  CONTA_A_RECEBER CR
> >  WHERE C.COD_CLI = CL.CODIGO AND C.COD_CAT = CT.CODIGO
> >  AND CR.COD_CLI = CL.CODIGO AND CR.COD_CONTR = C.CODIGO
> >  AND CL.NOME LIKE '%'
> >  AND ATIVO = 'S'
> >  AND CANCELADO <> 'S'
> >  AND C.STATUS = 0
> >  GROUP BY C.CODIGO,ATIVO ,C.COD_CLI, C.NUM_CONTR, COD_CAT,
> > COD_FUNC,C.OBSERVACAO,
> >  DATA, CANCELADO, DATA_CANCEL, INADIM, DATVENCCARENCIA, C.STATUS,
> >  VARLOR_PARCELA, DATA_VENCIM, CONT_BENE, COBRADOR, CLIENTE,  CATEGORIA
> >  ORDER BY CL.NOME
> >
> > A questão aqui é o MAX(CR.DAT_PAGTO) AS PGTO .
> > Eu quero  a maior data de pagamento da tabela CONTA_A_RECEBER quando o
> > campo
> > status desta mesma tabela for igual a 0.
> >
> > No caso o campo CR.STATUS nem aperece como uma cláusula pq não quero
> > filtrá-lo.
> >
> > _________________________________________________________________
> > Descubra todas as novidades do novo Internet Explorer 8
> >
> > http://brasil.microsoft.com.br/IE8/mergulhe/?utm_source=MSN%3BHotmail&utm_medium=Tagline&utm_campaign=IE8
> > ______________________________________________
> > 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
> >
> 
> 
> 
> -- 
> Ronaldo Moreira
> 
> "Existem somente 10 tipos de pessoas no mundo inteiro: Aquelas que entendem
> binário e aquelas que não entendem."
> ______________________________________________
> 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
 		 	   		  
_________________________________________________________________
Descubra todas as novidades do novo Internet Explorer 8
http://brasil.microsoft.com.br/IE8/mergulhe/?utm_source=MSN%3BHotmail&utm_medium=Tagline&utm_campaign=IE8


Mais detalhes sobre a lista de discussão lista