2015-01-20 4 views
1

Скажем, у меня есть эти две таблицы:SQL: Обновление одного поля из другой таблицы

table1 

ID  value1 value2 
1   NULL  NULL 
2   NULL  NULL 
3   NULL  NULL 

table2 

ID  value3 value4 
5   100  400 
6   200  500 
7   300  600 

Мне нужен SQL-заявление для получения value3 и value4 из table2ID 7 в value1 и value2 из table1ID 1.
Как мне это сделать?

Благодаря

+0

Возможный дубликат [UPDATE из SELECT с использованием SQL Server] (http://stackoverflow.com/questions/2334712/update-from-select-using-sql-server) – ryanyuyu

ответ

2

Если все, что вам нужно обновить два поля в одной строке, вы можете сделать это с подзапросов, например:

update table1 
set 
    value1 = (select value3 from table2 where id=7) 
, value2 = (select value4 from table2 where id=7) 
where id=1 

Для обновления дополнительных полей в соответствующих строках двух таблиц use an UPDATE with JOIN syntax appropriate from your RDBMS.

+0

На самом деле мне нужно обновить около 30 полей в одном ряд. Спасибо за ссылку. – sebastian

Смежные вопросы