TransWikia.com

É possível fazer um UPDATE com dados de outra tabela?

Stack Overflow em Português Asked on November 10, 2021

Sei que é possível executar um INSERT com dados de outra tabela:

INSERT INTO Tabela (Col01, Col02, Col03)
    SELECT Col01, Col02, Col03
    FROM Outra_tabela
    WHERE Condicao = 'qualquer coisa'

Mas gostaria de fazer o mesmo com um UPDATE. Algo equivalente à isso:

UPDATE Tabela SET Col01, Col02, Col03
    SELECT Col01, Col02, Col03
    FROM Outra_tabela
    WHERE Condicao = 'qualquer coisa'
WHERE Tabela.id = Outra_tabela.id

É possível? Como?

One Answer

É possível fazendo um Inner Join

UPDATE Tabela
SET
  Tabela.Col01 = Outra_tabela.Col01,
  Tabela.Col02 = Outra_tabela.Col02
FROM
  Tabela
INNER JOIN Outra_tabela
  ON Tabela.id = Outra_tabela.id
WHERE
  Condicao = 'Qualquer coisa'

Coloquei o código no GitHub para referência futura.

Answered by Jéf Bueno on November 10, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP