Jump to content

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


Recommended Posts

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

 

Мне надо запросом сменить 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. 

Edited by artbe
Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

 

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

 

нет.

 

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

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

 

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

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

Link to post
Share on other sites

нет.

 

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

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

 

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

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

 

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

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

Link to post
Share on other sites

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

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

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

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

Link to post
Share on other sites

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

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

 

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...