Fórum SQL Tabela Estoque - Saída #598347

01/11/2018

0

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

Responder

Post mais votado

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?

Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

Mais Posts

06/11/2018

Alex Lekao

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,
Responder

Gostei + 1

08/11/2018

Fernando Freitas

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.
Responder

Gostei + 0

08/11/2018

Emerson Nascimento

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
Responder

Gostei + 0

08/11/2018

Emerson Nascimento

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
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar