Роман С

Помогите обновить таблицу в БД SQL запросом!

Recommended Posts

Я сделал справочник Макрорайоны (это Районы теперь). А Районы переименовал в Микрорайоны (только для человека, таблицы не переименовывались).

В таблице street есть привязка street к district. В таблице district есть привязка district к macro_distric.

Надо в таблице street новое поле macro_district наполнить в соответствии с таблицей district, а улиц больше 1000: долго вручную.

Районы             >  Микрорайоны >    Улицы

macro_district   >      district          >    street

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

? и нафига такой геморрой? Представим ситуацию, я иногородний, знаю что на ул. Ленина удобнее снимать квартиру. На 3-5 неудавшейся комбинации город-район-микрорайон-нанорайон-пикорайон-улица не дойдя до ул.Ленина, плюну и уйду на Авито... Ну еще для Москвы понятно, лучше с районами и метро, а в городах с населением меньше миллиона это зачем, если все эти промежуточные микро-нано... известны только местным и то далеко не всем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите какой SQL запрос можно использовать чтобы решить следующую задачу.

Например мы завели в справочнике улицы или микрорайон соответственно определенную улицу или определенный микрорайон. в случае с микрорайоном это справочник созданный вручную (не штатный)

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

На сколько помнится, если удалить улицу или микрорайон в админке то могут возникнуть ошибки. или вообще не даст удалить -поскольку скажет что данная улица или микрорайон содержится в каком то объявлении.
подскажите как правильно, грамотно и безопасно удалить созданные улицу или микрорайон  и каким запросом. нужно в базе применить наверное этот запрос, чтобы показало, в каком объявлении и с каким id данный параметр встречается. потом зайти в админке в данное объявление и вручную выбрать данные параметры, выбрав другие.
ждем ответа. спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно сделать проще и деликатнее, чтобы не заморачиваться с индексами, т.к. всёравно напутаете:

  1. включить на сайте режим отладки (чтобы во время изменений генерируемый XML не расхватали партнерские сайты)
  2. переименовать с своих справочниках дубли микрорайона и улицы, например ул. Ленина в ул. Ленина1, чтобы как-то визуально отличались
  3. в объявлениях заменить эти ул. Ленина1 на нормальные названия
  4. удалить дубли из базы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
17 часов назад, doma сказал:

Подскажите какой SQL запрос можно использовать чтобы решить следующую задачу.

Например мы завели в справочнике улицы или микрорайон соответственно определенную улицу или определенный микрорайон. в случае с микрорайоном это справочник созданный вручную (не штатный)

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

На сколько помнится, если удалить улицу или микрорайон в админке то могут возникнуть ошибки. или вообще не даст удалить -поскольку скажет что данная улица или микрорайон содержится в каком то объявлении.
подскажите как правильно, грамотно и безопасно удалить созданные улицу или микрорайон  и каким запросом. нужно в базе применить наверное этот запрос, чтобы показало, в каком объявлении и с каким id данный параметр встречается. потом зайти в админке в данное объявление и вручную выбрать данные параметры, выбрав другие.
ждем ответа. спасибо

Заходите в справочник улиц и удаляете лишнюю улицу.

Если не дает удалить, идете в объявления и удаляете объявление с этой лишней улицей или же меняете объявлению правильню улицу.

Потом идете в справочник и удалаете улицу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 12.10.2018 в 09:42, rumantic сказал:

Заходите в справочник улиц и удаляете лишнюю улицу.

Если не дает удалить, идете в объявления и удаляете объявление с этой лишней улицей или же меняете объявлению правильню улицу.

Потом идете в справочник и удалаете улицу.

чтобы удалить в объявлениях -надо как то найти сначала эти объявления. а если их 1-2-5 тысяч?

и среди них 800 с улицей или микрорайоном?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 15.10.2018 в 21:24, doma сказал:

чтобы удалить в объявлениях -надо как то найти сначала эти объявления. а если их 1-2-5 тысяч?

и среди них 800 с улицей или микрорайоном?

Если не можете сформулировать четкие правила для запроса SQL тогда только вручную.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас