Назад | Перейти на главную страницу

Как правильно использовать оператор соединения в MSSQL?

Я новичок в 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'