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

Zottis IG bzottis em ig.com.br
Qui Set 17 11:58:04 -03 2009


Não daria pra fazer um subselect?

Exemplo


 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,

(SELECT MAX(CR.DAT_PAGTO)  WHERE CR.STATUS  = 0 )AS PGTO

/*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





Arte&Cor Estamparia - Zottis

"Um homem só tem o direito de olhar
  a um outro de cima para baixo, quando
  vai ajuda-lo a levantar-se".
                   Gabriel Garcia Marquez
----- Original Message ----- 
From: "Giovani Rochê" <giovaniroche em msn.com>
To: "Fórum Firebase" <lista em firebase.com.br>
Sent: Thursday, September 17, 2009 8:50 AM
Subject: [firebase-br] SELECT MAX(CAMPO) com Condição específica



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 





Mais detalhes sobre a lista de discussão lista