SQL Tabela Estoque - Saída

SQL Server

01/11/2018

Bom dia,

Estou precisando criar uma coluna que apareça o total do estoque conforme saída nas datas, conforme abaixo:

Produto Estoque Saída Data Saída
Livro A 100 20 01/11/2018
Livro A 80 15 02/11/2018
Livro A 65 25 03/11/2018
Livro A 40 18 04/11/2018
Livro A 22 12 05/11/2018
Livro A 10 10 06/11/2018
Livro A 0 0 07/11/2018
Fernando Freitas

Fernando Freitas

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

06/11/2018

Você quer apresentar uma coluna de saldo?
Produto | Estoque | Saída | Data Saída
Livro A |     100 |    20 | 01/11/2018
Livro A |      80 |    15 | 02/11/2018
Livro A |      65 |    25 | 03/11/2018
Livro A |      40 |    18 | 04/11/2018
Livro A |      22 |    12 | 05/11/2018
Livro A |      10 |    10 | 06/11/2018
Livro A |       0 |     0 | 07/11/2018

Qual a estrutura da(s) tabela(s) envolvida(s)?
Como você obteve os dados apresentados?
GOSTEI 1

Mais Respostas

Alex Lekao

Alex Lekao

01/11/2018

Ola Fernando, bom dia!!!

Eu sugiro vc fazer um subselect para conseguir esse resultado.

Mas por favor, passe as informações solicitadas pelo Emerson para podermos tentar te ajudar melhor.

Atenciosamente,
GOSTEI 1
Fernando Freitas

Fernando Freitas

01/11/2018

Bom dia,

Eu tenho duas tabelas, a de estoque e a de saída, como na imagem abaixo, preciso criar uma coluna saldo.

Produto | Estoque | Data
Livro A | 100 | 01/11/2018


Produto | Saída | Data Saída
Livro A | 20 | 01/11/2018
Livro A | 15 | 02/11/2018
Livro A | 25 | 03/11/2018
Livro A | 18 | 04/11/2018
Livro A | 12 | 05/11/2018
Livro A | 10 | 06/11/2018

Agora preciso unir as duas tabelas e criar a coluna saldo de cada dia.
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

01/11/2018

se eu entendi a necessidade, deve ser algo assim:
select
   e.produto,
   e.estoque - coalesce((select sum(e2.saida) from saidas s2 where s2.produto = e.produto and s2.dtsaida < s.dtsaida),0) estoque,
   sum(s.saida) saida,
   s.dtsaida
from estoque e
left join saidas s on s.produto = e.produto and s.dtsaida >= '11/01/2018'
where e.data = '11/01/2018'
group by e.produto, e.estoque, s.dtsaida
GOSTEI 0
Emerson Nascimento

Emerson Nascimento

01/11/2018

select
   e.produto,
   e.estoque - (select sum(e2.saida) from saidas s2 where s2.produto = e.produto and s2.dtsaida >= '11/01/2018' and s2.dtsaida < s.dtsaida) estoque,
   sum(s.saida) saida,
   s.dtsaida
from estoque e
left join saidas s on s.produto = e.produto and s.dtsaida >= '11/01/2018'
where e.data = '11/01/2018'
group by e.produto, e.estoque, s.dtsaida
GOSTEI 0
POSTAR