Как я могу обновить данные столбца по условию совпадения двух столбцов в SQLITE? - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть 2 таблицы table1 (col1, col2, col3, col4) и table2 (çol1, col2, col5).

Таблица1 col3 пуста, и я хочу обновить данные из table2 col5 на основе совпадения table1 (col1, col2) и table2 (col1, col2).

1 Ответ

1 голос
/ 07 февраля 2020

Для SQLite:

UPDATE table1
SET col3 = ( SELECT col5
             FROM table2
             WHERE (table1.col1, table1.col2)=(table2.col1, table2.col2) 
             LIMIT 1 )
/* WHERE table1.col3 IS NULL */

Если (col1, col2) в table2 определено как уникальное, то LIMIT 1 может быть удалено.


Для MySQL ( вопрос помечен MySQL):

UPDATE table1
  JOIN table2 USING (col1, col2)
SET table1.col3 = table2.col5
/* WHERE table1.col3 IS NULL */

(col1, col2) в table2 должен быть определен как уникальный. Если нет, то для обновления будет использовано случайное значение из всех возможных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...