[firebase-br] Numa sóinstrução de Sql?
Maycon Oleczinski
maycon.xvision em gmail.com
Sáb Nov 21 09:01:12 -03 2009
Tente isto...
-- Preço em vigor à Data
SELECT P.VALOR FROM PRECARIO P
WHERE P.PROD_ID=:WPROD_ID
AND P.PERP_ID=:WPER_ID
AND P.PREC_ID=:WPREC_ID
AND P.DTENTV= (
NULLIF( SELECT MAX(PS.DTENTV) FROM PRECARIO PS
WHERE PS.PROD_ID=P.PROD_ID
AND PS.PERP_ID=P.PERP_ID
AND PS.PREC_ID=P.PREC_ID
AND PS.DTENTV<= :WDTENTV (2004-01-11), CURRENT_DATE )
)
INTO :WVLR_TOT_PAG ; (Ex: 125,00€)
OBS: No caso de estar nula a data, neste script setei para pegar a data atual. Ajuste conforme a sua necessidade.
Att.
Maycon
> Date: Fri, 20 Nov 2009 16:53:04 -0300
> From: cury.fb em gmail.com
> To: lista em firebase.com.br
> Subject: Re: [firebase-br] Numa sóinstrução de Sql?
>
> Eu não entendi o que vocÊ quer fazer !
>
>
>
> 2009/10/28 Mário Reis <mariodosreyx em gmail.com>:
> >
> >
> > Tenho u´ma TabelaPreçário com:
> > Ex:
> > Prod_ID, Periodo_ID, Preco_ID, DT_ENT_Vigor Valor
> > -----------------------------------------------------
> > "QTU" "U" 1 2001-12-15 030,00€
> > "QTA" "A" 1 2001-12-30 090,00€
> > "QTA" "A" 2 2001-12-10 125,00€
> > "QTU" "U" 1 2004-02-25 100,00€
> > "QTA" "A" 1 2004-02-25 150,00€
> > "QTA" "A" 2 2004-02-25 250,00€
> >
> > Como fazer isto numa só instrução de Sql?
> >
> > WVLR_TOT_PAG=0.00 ;
> > -- Preço em vigor à Data
> > SELECT MAX(P.DTENTV) FROM PRECARIO P
> > WHERE P.PROD_ID=:WPROD_ID
> > AND P.PERP_ID=:WPER_ID
> > AND P.PREC_ID=:WPREC_ID
> > AND P.DTENTV<= :WDTENTV (2004-01-11)
> > INTO :WMAXDATE; (Ex:=2001-12-10 a maior das menores até=2004-01-11)
> >
> > IF (WMAXDATE IS NOT NULL) THEN
> > SELECT P.VALOR FROM PRECARIO P
> > WHERE P.PROD_ID=:WPROD_ID
> > AND P.PERP_ID=:WPER_ID
> > AND P.PREC_ID=:WPREC_ID
> > AND P.DTENTV=:WMAXDATE (=>2001-12-10 a maior das menores...)
> > INTO :WVLR_TOT_PAG ; (Ex: 125,00€)
> >
> > Obrigado
> >
> >
> >
> > ______________________________________________
> > 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
>
> ______________________________________________
> 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
_________________________________________________________________
Você já ama o Messenger? Conheça ainda mais sobre ele no Novo site de Windows Live.
http://www.windowslive.com.br/?ocid=WindowsLive09_MSN_Hotmail_Tagline_out09
Mais detalhes sobre a lista de discussão lista