Обновить MYSQL-запрос подстроки столбца из разных таблиц - PullRequest
0 голосов
/ 29 января 2019

Как я могу обновить значение столбца одной таблицы, сравнивая значение столбца подстроки другой таблицы со значением столбца подстроки основной таблицы (первые 9 символов должны сравниваться).Например: Таблица 1

ID       Text            ValueToSet
1        Chris0123-!@#   updated_value
2        John
3        Paul

Таблица2

ID       Text               ValueToSet
1        Mitchell Johnson   ABC
2        Chris0123@N/A      DEF
3        Steven             GHI

"updated_value" должна быть обновлена ​​как "DEF".

1 Ответ

0 голосов
/ 29 января 2019

Вы, похоже, ищете ОБНОВЛЕНИЕ с JOIN:

UPDATE table1 t1
INNER JOIN table2 t2 
    ON t2.text LIKE CONCAT('%', t1.text, '%')
SET t1.table2id = t2.id

После того, как OP был отредактирован, вот решение для сравнения первых 9 символов строк, используя SUBSTR ()

UPDATE table1 t1
INNER JOIN table2 t2 
    ON SUBSTR(t2.text, 1, 9) =  SUBSTR(t1.text, 1, 9)
SET t1.table2id = t2.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...