quinta-feira, julho 22, 2010

Update com join em SQL

Muitas vezes é necessário actualizar campos de uma tabela com dados de outra tabela com que ela se relaciona. Acontece que não é possível num statement de update por um inner join como se põe num statement de select, nem é possível igualar o campo ao qual se está a fazer set a uma cláusula de select. Então a sintaxe muda ligeiramente, mas o raciocínio por trás é o mesmo.

UPDATE Table1
SET Table1.FieldA = Table2.FieldX
FROM Table1 INNER JOIN Table2
ON Table1.keyA = Table2.keyX

Sem comentários: