[firebase-br] Max

Nigro - Fábrica de Software rnigro em brasil-info.com.br
Seg Dez 8 15:07:47 -03 2008


Olá Eduardo
em 1.5.5, não funciona



----- Original Message ----- 
From: "Eduardo Bahiense" <eduardo em icontroller.com.br>
To: <lista em firebase.com.br>
Sent: Monday, December 08, 2008 3:02 PM
Subject: Re: [firebase-br] Max


Não testei, mas deve funcionar !

Eduardo

SELECT
     CASE WHEN MAX1 > MAX2 THEN MAX1 ELSE MAX2 END AS MAXIMO
FROM
(
     (
         SELECT MAX(SE.DATAULTIMOFATURAMENTO) --DATAULTIMOFATURAMENTO
         FROM MANSAIDAEQUIPAMENTO SE
         INNER JOIN MANSAIDAEQUIPAMENTOITEM SEI ON (
SE.PK_SAIDAEQUIPAMENTO = SEI.FK_SAIDAEQUIPAMENTO )
         INNER JOIN FATCONTRATOSERVICOITEM CSI ON (
SEI.FK_CONTRATOSERVICOITEM = CSI.PK_CONTRATOSERVICOITEM )
         INNER JOIN FATCONTRATOSERVICO CS ON (CSI.FK_CONTRATOSERVICO =
CS.PK_CONTRATOSERVICO)
         WHERE CS.PK_CONTRATOSERVICO =  6377
     ) AS MAX1,
     (
         SELECT MAX(SE.DATAULTIMOFATURAMENTO) --DATAULTIMOFATURAMENTO
         FROM MANSAIDAEQUIPAMENTO SE
         INNER JOIN MANSAIDAACESSORIOITEM AI ON ( SE.PK_SAIDAEQUIPAMENTO
= AI.FK_SAIDAEQUIPAMENTO )
         INNER JOIN FATCONTRATOSERVICOITEM CSI ON (
AI.FK_CONTRATOSERVICOITEM = CSI.PK_CONTRATOSERVICOITEM )
         INNER JOIN FATCONTRATOSERVICO CS ON (CSI.FK_CONTRATOSERVICO =
CS.PK_CONTRATOSERVICO)
         WHERE CS.PK_CONTRATOSERVICO = 6377
     ) AS MAX2
     FROM RDB$DATABASE
)


Nigro - Fábrica de Software escreveu:
 > Boa tarde.
 > Estou usando FB1.5.5 e preciso colocar Max em dois Select´s com
Union, como segue.
 >
 > SELECT FIRST 1 MAX(SE.DATAULTIMOFATURAMENTO) --DATAULTIMOFATURAMENTO
 > FROM MANSAIDAEQUIPAMENTO SE
 > INNER JOIN MANSAIDAEQUIPAMENTOITEM SEI ON ( SE.PK_SAIDAEQUIPAMENTO =
SEI.FK_SAIDAEQUIPAMENTO )
 > INNER JOIN FATCONTRATOSERVICOITEM CSI ON ( SEI.FK_CONTRATOSERVICOITEM
= CSI.PK_CONTRATOSERVICOITEM )
 > INNER JOIN FATCONTRATOSERVICO CS ON (CSI.FK_CONTRATOSERVICO =
CS.PK_CONTRATOSERVICO)
 > WHERE CS.PK_CONTRATOSERVICO =  6377
 > UNION
 > SELECT FIRST 1 MAX(SE.DATAULTIMOFATURAMENTO) --DATAULTIMOFATURAMENTO
 > FROM MANSAIDAEQUIPAMENTO SE
 > INNER JOIN MANSAIDAACESSORIOITEM AI ON ( SE.PK_SAIDAEQUIPAMENTO =
AI.FK_SAIDAEQUIPAMENTO )
 > INNER JOIN FATCONTRATOSERVICOITEM CSI ON ( AI.FK_CONTRATOSERVICOITEM
= CSI.PK_CONTRATOSERVICOITEM )
 > INNER JOIN FATCONTRATOSERVICO CS ON (CSI.FK_CONTRATOSERVICO =
CS.PK_CONTRATOSERVICO)
 > WHERE CS.PK_CONTRATOSERVICO = 6377
 >
 > Ou seja, preciso de um Max que me retorne o maior dos dois Max acima,
não tenho condições de mudar a versão do banco.
 >
 > att.
 > Nigro
 >
 > Fábrica de Software
 >
 > Brasil Informática
 >
 > ( Tel.: (+55 11) 2176-8899
 >
 > ( Fax: (+55 11) 2176-8888
 >
 > rnigro em brasil-info.com.br
 >
 > www.brasil-info.com.br
 >
 >
 >
 > P Antes de imprimir, pense em sua responsabilidade e compromisso com
o meio ambiente.
 >
 >
 >
 > ALERTA: As informações contidas nesta mensagem são confidenciais, e
destinadas ao uso exclusivo do destinatário. Caso esta correspondência
tenha sido recebida por equívoco, notificamos que sua divulgação é
proibida por lei, e solicitamos que o remetente seja comunicado,
imediatamente, via e-mail.
 >
 > Obrigado.
 >
 > NOTICE:  This transmittal and/or attachments may be privileged or
confidential information. If you are not the intended recipient, you are
hereby notified that you have received this transmittal in error. Any
review, dissemination, distribution or copying of this transmittal is
strictly prohibited. If you have received this message in error, please
notify the sender by return e-mail.
 > Thank you


______________________________________________
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