Seben Postado Dezembro 15, 2012 Denunciar Share Postado Dezembro 15, 2012 Bom dia , criei um sql para listar na mesma consulta valores vendidos por histórico e seus totais. Gostaria de saber se tem uma forma mais otimizada de fazer isto.select cd_filial,to_char(dt_mvto,'dd/mm/yyyy')Data_Transacao,to_char (SUM(CASE WHEN cd_historico in(181) THEN (vl_historico) ELSE 0 END),'9990D99')as Visa_Eletron,to_char (SUM(CASE WHEN cd_historico in(324) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as Maestro,to_char (SUM(CASE WHEN cd_historico in(181,324) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as TOTAL_VISA_ELETRON_MAESTRO,to_char (SUM(CASE WHEN cd_historico in(443) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')aS VISA,to_char (SUM(CASE WHEN cd_historico in(444) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as MASTERCARD,to_char (SUM(CASE WHEN cd_historico in(443,444) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as TOTAL_VISA_MASTERCARDfrom scxmvhis where dt_mvto between '12/12/2012' and '12/12/2012' and cd_historico in (181,324,443,444)group bycd_filial,dt_mvtoorder by cd_filial Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Seben Postado Janeiro 16, 2013 Autor Denunciar Share Postado Janeiro 16, 2013 Bom dia , preciso de ajuda neste sql acima:preciso que na coluna TOTAL_VISA_MASTERCARD seja listado um cálculo:Exemplo: to_char (SUM(CASE WHEN cd_historico in(443) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')aS VISA, to_char (SUM(CASE WHEN cd_historico in(519) THEN (vl_historico) ELSE 0 END),'9990D99')as ESTORNO_Visa_Eletron, to_char (SUM(CASE WHEN cd_historico in(443)THEN (VL_HISTORICO)ELSE 0 END),'9990D99')as TOTAL_VISA_MASTERCARDQuero que o valor das entradas (443) seja diminuído do valor das saídas (519) e seja listado na coluna TOTAL_VISA_MASTERCARD. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Seben
Bom dia , criei um sql para listar na mesma consulta valores vendidos por histórico e seus totais. Gostaria de saber se tem uma forma mais otimizada de fazer isto.
select cd_filial,to_char(dt_mvto,'dd/mm/yyyy')Data_Transacao,
to_char (SUM(CASE WHEN cd_historico in(181) THEN (vl_historico) ELSE 0 END),'9990D99')as Visa_Eletron,
to_char (SUM(CASE WHEN cd_historico in(324) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as Maestro,
to_char (SUM(CASE WHEN cd_historico in(181,324) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as TOTAL_VISA_ELETRON_MAESTRO,
to_char (SUM(CASE WHEN cd_historico in(443) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')aS VISA,
to_char (SUM(CASE WHEN cd_historico in(444) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as MASTERCARD,
to_char (SUM(CASE WHEN cd_historico in(443,444) THEN (VL_HISTORICO) ELSE 0 END),'9990D99')as TOTAL_VISA_MASTERCARD
from scxmvhis where dt_mvto between '12/12/2012' and '12/12/2012' and cd_historico in (181,324,443,444)
group by
cd_filial,
dt_mvto
order by cd_filial
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.