PRECISO DA AJUDA DE VOCÊS...
IMAGINEM QUE EU TENHO UMA TABELA DE NOTA FISCAL, COM O NÚMERO DA NOTA, COM OS ITENS DE CADA NOTA, CÓDIGO DOS ITENS E VALORES DOS ITENS...
QUERO FAZER UM SELECT QUE ME RETORNE O VALOR TOTAL DE CADA NOTA... FAZENDO UMA SOMA DOS VALORES DOS ITENS... SÓ QUE QUANDO O CÓDIGO DO ÍTEM FOR UM NÚMERO ÍMPAR, O VALOR DESSE ÍTEM DEVE SER MULTIPLICADO POR 2...
EX.
NUM_NOTA = 1, NUM_ITEM = 1, VALOR_ITEM = 50... ENTÃO CONSIDERAR NA HORA DA SOMA O VALOR DO ITEM SENDO 2 * 50 = 100...
ALGUEM PODE ME AJUDAR?
Select Retorno Da Soma Total Com MultiplicaÇÃo
Started By junior_menezes, 28/10/2007, 19:14
1 reply to this topic
#1
Posted 28/10/2007, 19:14
#2
Posted 02/11/2007, 10:49
Bom, não tenho como testar no Oracle agora, testei no MySQL e foi possível fazer a condição no
No Oracle você usaria
SUM()
:mysql> select * from notas; +------+------+--------+-------+ | nota | item | codigo | valor | +------+------+--------+-------+ | 1 | 1 | 1 | 2.00 | | 1 | 1 | 2 | 2.40 | | 2 | 1 | 3 | 4.00 | | 2 | 1 | 3 | 40.00 | +------+------+--------+-------+ 4 rows in set (0.00 sec) mysql> select nota, sum(if(codigo % 2 = 0, valor, valor * 2)) from notas group by nota; +------+-------------------------------------------+ | nota | sum(if(codigo % 2 = 0, valor, valor * 2)) | +------+-------------------------------------------+ | 1 | 6.40 | | 2 | 88.00 | +------+-------------------------------------------+ 2 rows in set (0.00 sec)
No Oracle você usaria
DECODE()
ao invés do IF
, caso não saiba. http://www.techonthe...ions/decode.php
Edição feita por: Eclesiastes, 02/11/2007, 10:49.
Formatação
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)