Como somar Todos Pedido do Mes ?
Boa Noite, a todos do forum.
Estou tentando montar um grafico, onde le mostrara valor total das vendas por mes, como posso montar uma SQL ? Estou utilizando Interbase, Delphi 7.
Estrutura das Tabelas
PEDIDO
CodPedido, Data
ITEMPEDIDO
CodPedido, Valor, Quantidade
Tentei montar a seguinte SQL, mas ele soma so um Pedido e nao todos:
With SqlAux Do
Begin
Close;
SQL.Clear;
SQL.Add(´Select Pedido.CodPedido, Pedido.Data,´);
SQL.Add(´Sum(PedidoItem.Valor * PedidoItem.Quantidade) as ValorTotal From Pedido´);
SQL.Add(´Inner join PedidoItem on PedidoItem.CodPedido = Pedido.CodPedido´);
SQL.Add(´Where Pedido.Data Between :DataIni And :DataFim Group By Pedido.CodPedido, Pedido.Data´);
For i:=1 to 12 Do
Begin
DataIni:=StrToDate(´01/´ + IntToStr(i) + ´/´ + EdtAno.Text);
DataFim:=IncMonth(DataIni, 1) - 1;
Close;
ParamByName(´DataIni´).asDateTime:=DataIni;
ParamByName(´DataFim´).asDateTime:=DataFim;
Open;
Chart.Series[0].Add( FieldByName(´ValorTotal´).asFloat, Mes[i]);
End;
Muito Obrigado a todos !!!
Estou tentando montar um grafico, onde le mostrara valor total das vendas por mes, como posso montar uma SQL ? Estou utilizando Interbase, Delphi 7.
Estrutura das Tabelas
PEDIDO
CodPedido, Data
ITEMPEDIDO
CodPedido, Valor, Quantidade
Tentei montar a seguinte SQL, mas ele soma so um Pedido e nao todos:
With SqlAux Do
Begin
Close;
SQL.Clear;
SQL.Add(´Select Pedido.CodPedido, Pedido.Data,´);
SQL.Add(´Sum(PedidoItem.Valor * PedidoItem.Quantidade) as ValorTotal From Pedido´);
SQL.Add(´Inner join PedidoItem on PedidoItem.CodPedido = Pedido.CodPedido´);
SQL.Add(´Where Pedido.Data Between :DataIni And :DataFim Group By Pedido.CodPedido, Pedido.Data´);
For i:=1 to 12 Do
Begin
DataIni:=StrToDate(´01/´ + IntToStr(i) + ´/´ + EdtAno.Text);
DataFim:=IncMonth(DataIni, 1) - 1;
Close;
ParamByName(´DataIni´).asDateTime:=DataIni;
ParamByName(´DataFim´).asDateTime:=DataFim;
Open;
Chart.Series[0].Add( FieldByName(´ValorTotal´).asFloat, Mes[i]);
End;
Muito Obrigado a todos !!!
Walter Faria
Curtidas 0
Respostas
Emerson Nascimento
21/09/2006
na sua cláusula group by não deveria constar o codigo/numero do pedido.
deveria constar apenas o mês e o ano do pedido (isso mesmo: mês e ano)
informe a versão do interbase que você utiliza. se for a versão gratuita (6.0) não há maneira de fazer isso numa instrução sql. você precisará criar uma stored procedure.
deveria constar apenas o mês e o ano do pedido (isso mesmo: mês e ano)
informe a versão do interbase que você utiliza. se for a versão gratuita (6.0) não há maneira de fazer isso numa instrução sql. você precisará criar uma stored procedure.
GOSTEI 0