2016-03-23 8 views
0

Я хочу обновить строки таблицы из другой таблицы на основе общего ключа, используя sqlite3. Вот мои таблицы.обновить несколько строк из разных таблиц sqlite3

таблица1 структура.

id name common_key 
1  10 
2  20 
3  30 

таблица2 структура.

id name common_key 
11 a 30 
12 b 10 
13 c 20 

После обновления таблица1 должна быть как показано ниже.

id name common_key 
1 b 10 
2 c 20 
3 a 30 

Я хочу написать один запрос, чтобы обновить имя таблицы1 из таблицы2, где совпадение common_key.

Спасибо за ваше время.

ответ

1

Мы не можем использовать JOIN с UPDATE в sqlite как mysql и sql-sever и т.д ..
Но мы можем добиться этого с помощью вложенного запроса.

Запрос

update table1 
set name = (
    select name from table2 
    where common_key = table1.common_key 
); 

Пример

enter image description here

+0

Спасибо Уллас. –

+0

Если это поможет, отметьте это как ответ – Wanderer