Tente:
update Table1 t1
set t1.Firstname = 'Temp1'
inner join Table2 t2 on
t1.Id = t2.Id -- Whatever your PK and FK are here
where t1.Firstame = 'xxx'
and t2.CreateTS < '2014-02-08 15:00:00.000'
Sou muito novo no SQL e já li algo sobre junções, mas não consegui descobrir. Eu pintei meu cenário aqui:
Eu quero atualizar o Firstname of Table1 no Temp1, onde o CreateTS do ID correspondente na Tabela2 é < 08.02.2014
para isso preciso de uma junção mas não consigo resolvê-la. Quaisquer dicas são bem-vindas ..
update Table1
set Firstname = 'Temp1'
where Firstame = 'xxx'
join Table
and CreateTS < '2014-02-08 15:00:00.000'
Tente:
update Table1 t1
set t1.Firstname = 'Temp1'
inner join Table2 t2 on
t1.Id = t2.Id -- Whatever your PK and FK are here
where t1.Firstame = 'xxx'
and t2.CreateTS < '2014-02-08 15:00:00.000'
Aqui abaixo você tem a resposta. Para destacar a alteração, inseri dois FirstName como 'not_updated'. Por favor, veja SQL_Fiddle
update Table1
join Table2 on Table1.id = Table2.id
set Table1.FirstName = 'Temp1'
where Table2.CreateTS < '2014-02-08 15:00:00.000';
Espero que isso ajude.
Eu não usaria join para isso. Experimente:
UPDATE Table1,Table2
SET Table1.FirstName = 'Temp1'
WHERE Table1.FirstName = 'xxx' AND Table1.ID = Table2.ID AND Table2.CreateTS < '2014-02-08 15:00:00.000'