ОБНОВЛЕНИЕ РЕГЭКС MYSQL - PullRequest
       13

ОБНОВЛЕНИЕ РЕГЭКС MYSQL

1 голос
/ 24 марта 2010

У меня есть таблица контактов и таблица данных почтового индекса.

Мне нужно сопоставить первую часть почтового индекса и соединение с таблицей почтовых индексов ... и затем выполнить обновление ...

Я хочу сделать что-то вроде этого ...

UPDATE `contacts` LEFT JOIN `postcodes` ON PREG_GREP("/^[A-Z]{1,2}[0-9][0-9A-Z]{0,1}/", `contacts`.`postcode`) = `postcodes`.`postcode` SET `contacts`.`lat` = `postcode`.`lat`, `contacts`.`lng` = `postcode`.`lng`

Возможно ли это? Или мне нужно использовать внешний скрипт?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 24 марта 2010

Я решил подойти к нему под другим углом ... может быть несколько столкновений, но я могу с этим смириться.

UPDATE fellow f INNER JOIN postcode p ON f.postcode LIKE CONCAT(p.postcode, "%") SET f.lat = p.lat, f.lng = p.lng
0 голосов
/ 24 марта 2010

Я не уверен, для чего вы используете регулярное выражение, но если вам просто нужны первые [ДЛИНА] символов, которые будут одинаковыми, это будет работать:

update c
set c.lat = p.lat, c.lng = p.lng
from contacts c
inner join postcodes p
  on substring(c.postcode, 0, [LENGTH]) = substring(p.postcode, 0, [LENGTH]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...