Помогите составить sql запрос

Статус
В этой теме нельзя размещать новые ответы.

Юрий73

Постоялец
Регистрация
6 Янв 2015
Сообщения
134
Реакции
152
Как составить один длинный групповой запрос :
В базе данных infoot_pres6 в таблице ps_category_lang заменить
в cтроках где id_shop = 6 строковые данные 'магазинеMoskow' на 'магазине cheboksary' , 'Москве' на 'Чебоксарах' , 'Moskow' на 'cheboksary'
далее
в cтроках где id_shop = 7 строковые данные 'магазинеMoskow' на 'магазине aprelevka' , 'Москве' на 'Апрелевке' , 'Moskow' на 'aprelevka'
и так далее ....
 

Цукер

Сам себе призедент
Регистрация
5 Мар 2008
Сообщения
410
Реакции
375
Вот не чего не понятно если честно. Возьми кусок таблички и покажи на реальной таблице что ты в итоге хочешь видеть.
 

E6yH

Создатель
Регистрация
9 Окт 2016
Сообщения
30
Реакции
13
Самый простой вариант это выполнить пару запросов подставляя разные слова.
Код:
UPDATE ps_category_lang
SET meta_title = REPLACE(meta_title, 'Moscow', 'Cheboksary')
where id_shop = 6;

А потом проверить не осталось ли слов "Москва" и "Moscow" в строках запросом типа этого на случай если упустил что, либо с регистром что осталось:
Код:
select * from PS_CATEGORY_LANG
where id_shop = 6
    and  meta_title LIKE '%moscow%'
    or meta_title like '%москв%';

Тут я пример твой набрасывал:
Для просмотра ссылки Войди или Зарегистрируйся
 

ivan_pupkin

Создатель
Регистрация
4 Апр 2017
Сообщения
1
Реакции
0
Поменять во всей таблице сразу

Код:
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Москве', 'Чебоксарах');
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Москва', 'Чебоксары');
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Moscow', 'Cheboksary');
 

Юрий73

Постоялец
Регистрация
6 Янв 2015
Сообщения
134
Реакции
152
Спасибо , в итоге так как мне нужно было менять название не только в одном столбце , выходит 10 отдельно запросов.
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Москве', 'Ульяновске') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Москва', 'Ульяновск') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Moscow', 'ulyanovsk') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_title = REPLACE(meta_title, 'Moskow', 'ulyanovsk') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_description = REPLACE(meta_description, 'Москве', 'Ульяновске') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_description = REPLACE(meta_description, 'Москва', 'Ульяновск') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_description = REPLACE(meta_description, 'Moskow', 'ulyanovsk') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_keywords = REPLACE(meta_keywords, 'Москве', 'Ульяновске') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_keywords = REPLACE(meta_keywords, 'Москва', 'Ульяновск') WHERE id_shop =2;
UPDATE ps_category_lang SET meta_keywords = REPLACE(meta_keywords, 'Moskow', 'ulyanovsk') WHERE id_shop =2;

Проверял , все работает. Спасибо. Его сократить можно ?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху