Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lumiere

Como somar 2 campos da mesma table

Recommended Posts

Eu queria selecionar alguns campos da tabela estoque, onde dentro de um determinado período e onde as datas fossem iguais viessem a soma dos campos entradas e saídas. Por ex.:

 

COD	  |   DATA   | ENTRADA | SAIDA | PRODUTO 1	   | 01/11/06 |  5	  |  4	| produtA 1	   | 02/11/06 |  8	  |  5	| produtA 1	   | 03/11/06 |  3	  |  1	| produtA 1	   | 04/11/06 |  2	  |  1	| produtA
Mas estou fazendo alguma coisa louca que vem assim :

COD	  |   DATA   | ENTRADA | SAIDA | PRODUTO 1	   | 01/11/06 |  5	  |  0	| produtA 1	   | 02/11/06 |  8	  |  0	| produtA 1	   | 03/11/06 |  3	  |  0	| produtA 1	   | 04/11/06 |  2	  |  0	| produtA 1	   | 01/11/06 |  0	  |  4	| produtA 1	   | 02/11/06 |  0	  |  5	| produtA 1	   | 03/11/06 |  0	  |  1	| produtA 1	   | 04/11/06 |  0	  |  1	| produtA
Olha só o que estou fzendo, se v6 puderem me ajudar serei muito grat, muito mesmo!!!

select cod,data,sum(entrada) as entrada,0000 as saida, produto		from estoque where cod =1 and 		data between convert(datetime,'01/11/2006',103) and convert(datetime,'01/12/2006',103)		and entrada<>0		group by cod,data,saida,produtounion allselect cod,data,0000 as entrada,sum(saida) as saida, produto		from estoque where cod =1 and 		data between convert(datetime,'01/11/2006',103) and convert(datetime,'01/12/2006',103)		and saida<>0		group by cod,data,saida,produto
Alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar montar pra você com subselect

 

select cod,data,sum(entrada) as entrada,

 

(select sum(saida) from from estoque b where a.cod = b.cod and a.produto = b.produto) as saida

 

, produto

from estoque a where cod =1 and

data between convert(datetime,'01/11/2006',103) and convert(datetime,'01/12/2006',103)

and entrada<>0

group by cod,data,saida,produto

 

tente rodar isso e se der erro post o erro..

 

abs

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo..roda isso no Query Analiyzer e vê se te ajuda..--configurando para não aparecer o contador de registros executados set nocount on --declarando tabelas temporarias para teste declare @tbestoqueSP table (cod int , data_entrada varchar(30),data_saída varchar(30),produto varchar(100)) declare @tbestoqueRJ table (cod int , data_entrada varchar(30),data_saída varchar(30),produto varchar(100)) --inserindo dados na tabela estoqueRJSPSP insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('1','01/01/2007','03/01/2007','Produto_A') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('2','01/01/2007','03/01/2007','Produto_A') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('3','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('4','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('5','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('6','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('7','01/01/2007','03/01/2007','Produto_C') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('8','01/01/2007','03/01/2007','Produto_C') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('9','04/01/2007','07/01/2007','Produto_D') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('10','01/01/2007','03/01/2007','Produto_D') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('11','05/01/2007','08/01/2007','Produto_D') insert into @tbestoqueSP (cod,data_entrada,data_saída,produto) values ('12','01/01/2007','03/01/2007','Produto_D') --inserindo dados na tabela estoqueRJSPRJ insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('1','01/01/2007','03/01/2007','Produto_A') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('2','01/01/2007','03/01/2007','Produto_A') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('3','01/01/2007','03/01/2007','Produto_A') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('4','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('5','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('6','02/01/2007','03/01/2007','Produto_B') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('7','01/01/2007','03/01/2007','Produto_C') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('8','01/01/2007','03/01/2007','Produto_C') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('9','04/01/2007','07/01/2007','Produto_D') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('10','01/01/2007','03/01/2007','Produto_D') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('11','05/01/2007','08/01/2007','Produto_D') insert into @tbestoqueRJ (cod,data_entrada,data_saída,produto) values ('12','01/01/2007','03/01/2007','Produto_D')--executando o UNION select data_entrada,data_saída,count (data_entrada) as Total_Entrada,count (data_saída)as Data_Saída,produto from @tbestoqueSP Group by data_entrada,data_saída,produto union select data_entrada,data_saída,count (data_entrada) as Total_Entrada,count (data_saída)as Data_Saída,produto from @tbestoqueRJ Group by data_entrada,data_saída,produtoSeguindo as aulas do mestre Eriva...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.