Перейти к содержанию
Официальный форум поддержки Simpla

SQL запрос на смену url в категориях


Рекомендуемые сообщения

Прошу помощи с запросом.

 

Мне надо запросом сменить url категорий на url товаров. (часть url категорий и url товаров совпадают, часть нет). 

 

Например: url категории: audi-q5-s-line, а url товара audi-q5.

 

Сделал вот так: 

 

UPDATE s_categories f1
LEFT OUTER JOIN s_products f2 
    ON f1.url != f2.url
    SET f1.url = f2.url
 

 

Но получился бред, сравнивая по url. Скорее всего надо делать запрос на выбор 3 таблиц, s_categories, s_products, s_products_categories и делать условие по id. 

Изменено пользователем artbe
Ссылка на сообщение
Поделиться на другие сайты

Примерно так:

 

update s_categories c set c.url = ( select p.url from s_products p, s_products_categories pc WHERE p.id=pc.product_id and c.id=pc.category_id LIMIT 1)

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

Примерно так:

 

update s_categories c set c.url = ( select p.url from s_products p, s_products_categories pc WHERE p.id=pc.product_id and c.id=pc.category_id LIMIT 1)

 

Спасибо.

 

Только теперь у родительских категорий - стерлась ссылка. Т.е. url = Null

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

Так и должно быть согласно запросу. Вероятно, потому, что Ваше заявление "У меня в каждой категории по 1 товару" неверное.

 

Потому и говорят часто: правильно поставленный вопрос - половина ответа...

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

Так и должно быть согласно запросу. Вероятно, потому, что Ваше заявление "У меня в каждой категории по 1 товару" неверное.

 

Потому и говорят часто: правильно поставленный вопрос - половина ответа...

 

нет.

 

Есть родительская категория AUDI.

В ней подкатегории: Audi A1 Hb 5-ти дв. с 10г. / Audi A3 (8V) Sd/Hb c 13г. и т.д.

 

В каждой подкатегории по 1 товару.

Ваш запрос меняет url подкатегориям (это ок) и меняет url родительской категории AUDI на NULL. При этом mysql ругается на то, что url не может быть NULL.

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

нет.

 

Есть родительская категория AUDI.

В ней подкатегории: Audi A1 Hb 5-ти дв. с 10г. / Audi A3 (8V) Sd/Hb c 13г. и т.д.

 

В каждой подкатегории по 1 товару.

Ваш запрос меняет url подкатегориям (это ок) и меняет url родительской категории AUDI на NULL. При этом mysql ругается на то, что url не может быть NULL.

 

Именно не нет, а как раз да.

Вы сказали "У меня в каждой категории по 1 товару".  А теперь посмотрите, сколько у Вас товаров в категории AUDI. Будете настаивать, что именно один?

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

Именно не нет, а как раз да.

Вы сказали "У меня в каждой категории по 1 товару". А теперь посмотрите, сколько у Вас товаров в категории AUDI. Будете настаивать, что именно один?

Корс тебе что в лоб что по лбу.

Человек написал что по одному товару в каждой категории и это так, о количестве товаров в родительской категории речи не было, ты как всегда сам себе палки в колёса вставил.

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

Корс тебе что в лоб что по лбу.

Человек написал что по одному товару в каждой категории и это так, о количестве товаров в родительской категории речи не было, ты как всегда сам себе палки в колёса вставил.

 

Обычно не только программисты, но и обычные люди четко понимают смысл 'в каждой'...

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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...