Fórum Sum resultando um valor errado #330700
04/10/2006
0
[b:ee12610425]CD [/b:ee12610425][b:ee12610425][color=red:ee12610425](A)[/color:ee12610425][/b:ee12610425] - Alpha
[b:ee12610425]Valor [/b:ee12610425][color=green:ee12610425][b:ee12610425]($)[/color:ee12610425][/b:ee12610425]- Currency
[b:ee12610425]Data [/b:ee12610425][b:ee12610425][color=darkblue:ee12610425](D)[/color:ee12610425][/b:ee12610425] - Date
Por questão de teste, coloquei 2 querys som os seguintes códigos:
[b:ee12610425]QUERY1[/b:ee12610425]
Select data, SUM(valor) From Financeiro Where Data >= :DataI and data <= :DataF and CD =´credito´ group by data;
[b:ee12610425]QUERY2[/b:ee12610425]
Select data, SUM(valor) From Financeiro Where Data >= :DataI and data <= :DataF and CD =´debito´ group by data;
a [b:ee12610425]data inicial[/b:ee12610425] e [b:ee12610425]data final[/b:ee12610425] das duas são as mesmas [b:ee12610425]31/01/2006[/b:ee12610425] e [b:ee12610425]31/12/2006[/b:ee12610425] respectivamente.
Na tabela tenho os seguintes valores:
[b:ee12610425]CD ----- DATA -------- VALOR[/b:ee12610425]
credito - 27/09/2006 - R$10,00
debito - 28/09/2006 - R$45,00
debito - 28/09/2006 - R$60,00
debito - 05/10/2006 - R$5,00
credito - 05/10/2006 - R$12,00
Só que no valor final, está aparecendo o seguinte valor
[b:ee12610425]para a query do credito: R$10,00
e para a query do debito: R$ 105,00[/b:ee12610425]
A questão é , porque ele está fazendo este calculo maluco, acho que é por causa do group by. alguem pode me dar uma luz :roll:
Vagner.oliveira
Curtir tópico
+ 0Posts
05/10/2006
Steve_narancic
credito
para o dia 27/09 - 10,00
para o dia 05/10 - 12,00
debito
para o dia 28/09 - 95,00
para o dia 05/10 - 5,00
para[b:0030869a6d] não [/b:0030869a6d]agrupar a soma pela data [b:0030869a6d]remova o group by[/b:0030869a6d]
Gostei + 0
05/10/2006
Vagner.oliveira
Bem que gostaria de tirar o [b:14cd1256c0]group by[/b:14cd1256c0] só que se fizer isso da erro:
[b:14cd1256c0][color=red:14cd1256c0]GROUP BY is required when both aggregate and non-aggregate fields are used in result set.[/color:14cd1256c0][/b:14cd1256c0]
Gostei + 0
05/10/2006
Macario
Colega ao remover a clausula group by, voce tambem devera remover o campo nao computado ou seja remover o campo data.
Exemplo:
select sum(VALOR) as TOTAL from FINANCEIRO where DATA >= :DATAI and DATA <= :DATAF and CD =´CREDITO´
Desta forma voce obtem a soma do periodo inteiro.
O mesmo se aplica para calcular os valores de debito.
[]´s
8)
Gostei + 0
05/10/2006
Vagner.oliveira
Select SUM(valor) From Financeiro Where Data >= :DataI and data <= :DataF and CD =´Credito´;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)