[firebase-br] Numa sóinstrução de Sql?
Mário Reis
mariodosreyx em gmail.com
Qua Out 28 22:00:50 -03 2009
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
Mais detalhes sobre a lista de discussão lista