[firebase-br] Campo Calculado em Select
RAMJ SISTEMAS & CONSULTORIA
jubrovolski em yahoo.com.br
Sex Fev 4 05:56:59 -03 2005
Tenho a seguinte instrucao Sql
SELECT E.CODPROD
, E.DESCPROD
, CASE
WHEN E.TIPO = 'J' THEN 'JÓIA'
WHEN E.TIPO = 'B' THEN 'BIJUTERIA'
END AS DESCTIPO
, E.MATPRIMA
, CASE
WHEN E.MATPRIMA = 'M' THEN 'MATÉRIA-PRIMA'
WHEN E.MATPRIMA = 'F' THEN 'PRODUTO FINAL'
END AS DESCMATPRIMA
, E.CODBARRA
, E.PESO
, E.MARGEM
, E.CUSTO
, E.PRECO01
, E.PRECO02
, E.FOTO
, E.CODCOLECAO
, A.DESCCOLECAO
, E.CODGRUPO
, B.DESCGRUPO
, E.TIPO
, C.DATAOCORR
, CASE
WHEN E.TIPO = 'J' THEN
(((C.VLROURO/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)
END AS CUSTOOURO
, CASE
WHEN E.TIPO = 'J' THEN
((((C.VLROURO/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)*(E.MARGEM
/100))+
(((C.VLROURO/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)
END AS PRECOOURO
, CASE
WHEN E.TIPO = 'J' THEN
(((C.VLRPRATA/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)
END AS CUSTOPRATA
, CASE
WHEN E.TIPO = 'J' THEN
((((C.VLRPRATA/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)*(E.MARGE
M/100))+
(((C.VLRPRATA/1000)*(B.FATORBANHO+B.FATORSERVICO)+E.CUSTO)*E.PESO)
END AS PRECOPRATA
FROM PRODUTOS E
LEFT JOIN COLECAO A ON (A.CODCOLECAO = E.CODCOLECAO)
LEFT JOIN GRUPOS B ON (B.CODGRUPO = E.CODGRUPO)
LEFT JOIN PRECOBANHO C ON (C.DATAOCORR = DATAOCORR)
Duas Perguntas: 1-> usando o CASE criei um campo chamado CUSTOURO. Como usar
este campo no case abaixo PRECOOURO. Gostaria que ficasse algo assim: ( se
for possível é claro )
, CASE
WHEN E.TIPO = 'J' THEN (CUSTOOURO*(E.MARGEM/100))+CUSTOOURO
END AS PRECOOURO
2->Na linha C.DATAOCORR, preciso rotarnar a data maior algo assim:
, MAX(C.DATAOCORR)
Se alguém puder me ajudar, desde já agradeço
Reuber
Mais detalhes sobre a lista de discussão lista