Я новичок в SQL и уже кое-что читал о соединениях, но не смог узнать. Я нарисовал здесь свой сценарий:
Я хочу обновить имя Table1 до Temp1, где CreateTS соответствующего идентификатора в Table2 <08.02.2014
для этого мне нужно соединение, но я не могу его решить. Любые советы приветствуются ..
update Table1
set Firstname = 'Temp1'
where Firstame = 'xxx'
join Table
and CreateTS < '2014-02-08 15:00:00.000'
Вот вам ответ. Чтобы выделить изменение, я вставил два имени FirstName как not_updated. Посмотри пожалуйста 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';
Надеюсь, это поможет.
Пытаться:
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'
Я бы не стал для этого использовать join. Пытаться:
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'