COMO FAZER ESSE SELECT

NICOLLAS2 07/07/2011 12:13:25
#378647
Galera, como faço um select para agrupar um resultado e trazer so a soma.

exemplo:

tenho os dados na tabela assim

DATA SALDO_INICIAL OPERACAO QUANTIDADE SALDO_FINAL

01/07 100 ENTRADA 30 130
01/07 130 ENTRADA 15 145
01/07 145 SAIDA 55 90
03/07 90 SAIDA 10 80
03/07 80 ENTRADA 20 100
03/07 100 SAIDA 40 60

preciso mostrar assim:

DATA SALDO_INICIAL OPERACAO QUANTIDADE SALDO_FINAL

01/07 100 ENTRADA 45 145
01/07 145 SAIDA 55 90
03/07 90 ENTRADA 20 110
03/07 110 SAIDA 50 60

achei um tal de SUM mas nao entendi direito
MARCELO.TREZE 07/07/2011 12:38:51
#378651
Resposta escolhida
pelo que entendi vc deseja fazer um sum(soma) só na quantidade, agrupado por datas é isso, pois o correto não seria somar os valores também, ficando assim

DATA SALDO_INICIAL OPERACAO QUANTIDADE SALDO_FINAL

01/07 230 ENTRADA 45 275
01/07 145 SAIDA 55 90
03/07 80 ENTRADA 20 100
03/07 190 SAIDA 50 140

ou no saldo inicial vc pega o maior valor e soma só a quantidade

GUIMORAES 07/07/2011 13:23:14
#378652
select DATA, SUM(SALDO_INICIAL) as SALDO_INICIAL, OPERACAO, SUM(QUANTIDADE) as QTD, SUM(SALDO_FINAL) as SALDO_FINAL
From TABELA
Group by DATA, OPERACAO

Bom, axo que é isto.

Abraços
NICOLLAS2 07/07/2011 13:53:35
#378662
Citação:

:
pelo que entendi vc deseja fazer um sum(soma) só na quantidade, agrupado por datas é isso, pois o correto não seria somar os valores também, ficando assim

DATA SALDO_INICIAL OPERACAO QUANTIDADE SALDO_FINAL

01/07 230 ENTRADA 45 275
01/07 145 SAIDA 55 90
03/07 80 ENTRADA 20 100
03/07 190 SAIDA 50 140

ou no saldo inicial vc pega o maior valor e soma só a quantidade



nao, porque o saldo inicial ele so vai pegar do primeiro registro e o saldo final do ultimo registro.
ROBIU 07/07/2011 13:57:53
#378663
Qual o Banco de Dados?
Esse select faz a operação conforme a imagem.
SELECT Tabela1.Data, Min(Tabela1.Saldo_Inicial) AS Saldo_I, Tabela1.Operacao, Sum(Tabela1.Quantidade) AS Quant, IIf([Operacao]=[ô]ENTRADA[ô],Min([Tabela1].[Saldo_Inicial])+Sum([Tabela1].[Quantidade]),
Min([Tabela1].[Saldo_Inicial])-Sum([Tabela1].[Quantidade])) AS Saldo_F
FROM Tabela1
GROUP BY Tabela1.Data, Tabela1.Operacao;
MARCELO.TREZE 07/07/2011 14:02:21
#378664
agora sim entendi

tente

sSQL = [Ô] SELECT MIN(saldo_inicial),MAX(Saldo_final),SUM(quantidade),data,operacao FROM tabela GROUP BY data,operacao[Ô]

FEDERHEN 07/07/2011 16:32:00
#378696
Precisa ser por SELECT ???

Resolve por DO WHILE acumulando os valores e controlando as quebras
Tópico encerrado , respostas não são mais permitidas