Jump to content
Fórum Script Brasil
  • 0

CONSULTA SQL PARA SALDO EM ESTOQUE


huarlem

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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);
Edited by wootzor
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...