Сравните 2 столбца в разных таблицах mysql - PullRequest
0 голосов
/ 12 февраля 2012

У меня есть две таблицы, которые содержат бизнес-информацию, первая позволяет называть ее А имеет (идентификатор, информация, категория), вторая позволяет называть ее Б имеет (идентификатор, телефон, категория).

A.info содержит адрес, телефон и другую информацию. B.phone содержит только номер телефона.

Я хотел бы установить категорию B. в качестве категории A., где B.phone существует в A.info.

Я думал что-то вроде этого:

update A
inner B
set B.category = A.category
where B.phone like %A.phone%

Без удачи, вне всяких сомнений

Ответы [ 2 ]

2 голосов
/ 12 февраля 2012

Хорошо, попробуйте этот запрос:

update b, a
set b.category = a.category
where a.info like concat('%', b.phone, '%');
0 голосов
/ 12 февраля 2012

Похоже, что вы предоставляете буквальное значение A.Phone вместо фактического значения столбца.

Вы упомянули использование подстановочных знаков в одном из ваших комментариев. Вы можете использовать REGEXP, если вам нужен более детальный контроль.

Я не уверен, каковы типы данных вашего столбца, но вот пример для сопоставления записей где a.info REGEXP concat ('[[: <:]]', b.phone, '[[:>:]]')

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