Ir para conteúdo
Fórum Script Brasil
  • 0

CONSULTA SQL PARA SALDO EM ESTOQUE


huarlem

Pergunta

Bom dia,
Estou precisando fazer uma consulta que me retorne o estoque atual dos produtos ( soma das vendas - estoque inicial)
Tenho as tabelas Produto (Id, Nome, EstoqueInicial) e Vendas (Id, ProdutoId, Quantidade)
Preciso somar as quantidades de cada produto na tabela vendas para diminuir do EstoqueIncial.
Alguém sabe como fazer isso utilizando uma consulta SQL?
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

EDIT: Peço desculpa mas só depois reparei que isto está na secção de SQL Server e não de MySQL. De qualquer forma, espero que possa ser útil, embora a sintaxe seja diferente. Aconselho a ler algo sobre triggers.

Em vez de tentar "reinventar a roda", podes utilizar um trigger, que existe precisamente para operações semelhantes à que pretendes. Aqui tens um exemplo:

CREATE TABLE `Produto`
(
  `Id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `Nome` VARCHAR(50) NOT NULL,
  `Stock` INT NOT NULL
);

CREATE TABLE `Venda`
(
  `Id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `ProdutoId` INT NOT NULL,
  `Quantidade` INT NOT NULL,
  FOREIGN KEY (`ProdutoId`) REFERENCES Produto(`Id`)
);

-- Inserir dados na tabela `Produto`
INSERT INTO `Produto` (`Nome`, `Stock`) VALUES ("Produto A", 100), ("Produto B", 200);

-- Criar trigger para actualizar automaticamente o stock disponível em função das vendas.
CREATE TRIGGER `tgVendas` AFTER INSERT ON `Venda` FOR EACH ROW
UPDATE `Produto` SET `Stock` = (`Stock` - NEW.Quantidade);

-- Testar o trigger criado
INSERT INTO `Venda` (`ProdutoId`, `Quantidade`) VALUES (1, 5), (2,10);
Editado por wootzor
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...