MySQL - Fazer update de uma tabela com soma de outra tabela

MySQL

Banco de Dados

16/03/2017

Como atualizar os valores de uma tabela, usando valores pegos em outra tabela:

UPDATE produto -- atualizar a tabela produto
SET produto.quant = SUM(entrada.quant) -- produto.quant será igual a soma da coluna quant da tabela entrada
WHERE produto.id = entrada.idproduto -- onde produto.id = entrada.idproduto

Tabela produto:

id int
descricao string
tipo string
quant int

Tabela entrada

id int
idProduto int
data date
quant int
Italo Pereira

Italo Pereira

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

16/03/2017

Você pode fazer isso de duas formas, a primeira seria usando um subselect no set:
Update tabela1 set valor = (Select valor2 from tabela2 where <suaCondicao>)
Where <Condicao para tabela 1>

A segunda é com uso de joins

UPDATE Tabela1
JOIN Tabela2 ON Tabela1.Id= Tabela2.IdTabela1
SET Tabela1.Valor = Tabela2.NovoValor
Where <Condição>


espero ter ajudado.
;)
GOSTEI 1
POSTAR