Ilano 0 Denunciar post Postado Junho 12, 2009 Olá pessoal, Tenho a consulta abaixo para me retornar os vencimentos de um pedido e o valor de cada parcela, só q o cálculo (Valor da Parcela) não está retornando exato, confira a imagem neste link. O Total do Pedido é de R$ 85,80 Dividindo por 3 parcelas, deveria ficar 28,60 Só q está retornando 28, como mostra na imagem. SELECT PEDIDO, EMISSAO, TOTAL_PEDIDO, PARCELAS, (TOTAL_PEDIDO DIV PARCELAS) VALOR, DIAS, DATE_FORMAT(VENCIMENTO, "%d/%m/%Y") DATA_VENCIMENTO, CASE WHEN DATE_FORMAT(VENCIMENTO, "%w") = 0 THEN "DOMINGO" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 1 THEN "SEGUNDA-FEIRA" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 2 THEN "TERÇA-FEIRA" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 3 THEN "QUARTA-FEIRA" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 4 THEN "QUINTA-FEIRA" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 5 THEN "SEXTA-FEIRA" WHEN DATE_FORMAT(VENCIMENTO, "%w") = 6 THEN "SÁBADO" ELSE "NA" END AS SEMANA FROM ( SELECT P.Ped_Codigo PEDIDO, P.Ped_Data EMISSAO, (SELECT SUM(X.Det_ValorUnitario * X.Det_Quantidade) FROM tb_detalhes X WHERE X.Ped_Codigo = P.Ped_Codigo) TOTAL_PEDIDO, F.FP_NumDias DIAS, (SELECT COUNT(*) FROM tb_formaspagto WHERE Pag_Codigo = P.Pag_Codigo) PARCELAS, CASE WHEN DATE_FORMAT(DATE_ADD(P.Ped_Data, INTERVAL F.FP_NumDias DAY), "%w") = 0 THEN DATE_ADD(P.Ped_Data, INTERVAL F.FP_NumDias + 1 DAY) WHEN DATE_FORMAT(DATE_ADD(P.Ped_Data, INTERVAL F.FP_NumDias DAY), "%w") = 6 THEN DATE_ADD(P.Ped_Data, INTERVAL F.FP_NumDias - 1 DAY) ELSE DATE_ADD(P.Ped_Data, INTERVAL F.FP_NumDias DAY) END AS VENCIMENTO FROM tb_pedidos P INNER JOIN tb_formaspagto F ON (P.Pag_Codigo = F.Pag_Codigo) ) ABC Como posso corrigir esta consulta para q me retorne o valor correto de cada parcela? Grato, Ilano. Compartilhar este post Link para o post Compartilhar em outros sites
Ilano 0 Denunciar post Postado Junho 13, 2009 Encontrei o erro: (TOTAL_PEDIDO DIV PARCELAS) VALOR Era só alterar para: (TOTAL_PEDIDO / PARCELAS) VALOR Valeu galera!!!! Compartilhar este post Link para o post Compartilhar em outros sites