искать из одной таблицы sql и вставлять в другую

0

У меня есть таблица, называемая местами, в которой есть 2 миллиона записей. В этих записях есть столбец с именем city_name.

В другой таблице у меня есть 2 столбца: city_name и city_id.

Моя цель - искать в табличных городах имя city_name из мест таблицы и вставлять соответствующий city_id из табличных городов в таблицы.

Я попытался использовать следующее:

UPDATE places
INNER JOIN cities USING (city_name)
SET places.city_id = cities.city_id

Проблема в том, что он сработал, но у меня есть случайный city_id в поле city_id которое не соответствует имени города.

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

Может кто-нибудь помочь, пожалуйста. Я использую phpmyadmin

Спасибо

  • 4
    Я думаю, что вы должны предоставить те же данные и желаемые результаты, чтобы прояснить, что вы хотите сделать. Возможно, вам просто нужно исправить ваши данные.
  • 0
    хорошо, какие данные вы хотите, чтобы я предоставил?
Показать ещё 3 комментария
Теги:

1 ответ

0
Лучший ответ

Если я правильно понимаю ваш запрос, решение будет

UPDATE places
SET places.city_id = (SELECT cities.city_id
                      FROM cities
                      WHERE cities.city_name = places.city_name)
  • 0
    Спасибо, это было лучшее логическое решение, и, похоже, оно работает (хотя и немного медленно), но я отнесу скорость к бюджетному серверу.
  • 0
    Пожалуйста, Джордж. Отметьте ответ как приемлемый, если он помог.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню