UPDATE com INNER JOIN

On 28 de julho de 2010, in MySQL, SQL, SQL Server, by sergiolemos

Para quem deseja fazer um update de uma tabela utilizando INNER JOIN segue exemplo:

começaremos com um simples inner join de duas tabelas (1 e 2)

1
2
SELECT * FROM tabela1 t1
INNER JOIN tabela2 t2 ON t2.tabela1_id=t1.id

com esse comando executamos um INNER JOIN para um SELECT entre as tabelas (1 e 2).

Aproveitaremos esse SELECT para executarmos um UPDATE de algum determinado campo de qualquer uma das tabelas.

1
2
3
UPDATE tabela1 SET campo1=t2.campo1
FROM tabela1 t1
INNER JOIN tabela2 t2 ON t2.tabela1_id=t1.id

Vejam que houve a necessidade de repetir o chamada da tabela1 duas vezes, uma para indicar o campo e outra para criarmos o alias.
Espero que tenha ajudado, até mais.

 

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">