artbe Опубликовано 24 ноября, 2018 Жалоба Поделиться Опубликовано 24 ноября, 2018 (изменено) Прошу помощи с запросом. Мне надо запросом сменить 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. Изменено 24 ноября, 2018 пользователем artbe Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 24 ноября, 2018 Жалоба Поделиться Опубликовано 24 ноября, 2018 Пока бред в постановке задачи... Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 24 ноября, 2018 Автор Жалоба Поделиться Опубликовано 24 ноября, 2018 Пока бред в постановке задачи... У меня в каждой категории по 1 товару Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 24 ноября, 2018 Жалоба Поделиться Опубликовано 24 ноября, 2018 Примерно так: 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) Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 26 ноября, 2018 Автор Жалоба Поделиться Опубликовано 26 ноября, 2018 Примерно так: 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 Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 26 ноября, 2018 Жалоба Поделиться Опубликовано 26 ноября, 2018 Так и должно быть согласно запросу. Вероятно, потому, что Ваше заявление "У меня в каждой категории по 1 товару" неверное. Потому и говорят часто: правильно поставленный вопрос - половина ответа... Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 26 ноября, 2018 Автор Жалоба Поделиться Опубликовано 26 ноября, 2018 Так и должно быть согласно запросу. Вероятно, потому, что Ваше заявление "У меня в каждой категории по 1 товару" неверное. Потому и говорят часто: правильно поставленный вопрос - половина ответа... нет. Есть родительская категория AUDI.В ней подкатегории: Audi A1 Hb 5-ти дв. с 10г. / Audi A3 (8V) Sd/Hb c 13г. и т.д. В каждой подкатегории по 1 товару.Ваш запрос меняет url подкатегориям (это ок) и меняет url родительской категории AUDI на NULL. При этом mysql ругается на то, что url не может быть NULL. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 26 ноября, 2018 Жалоба Поделиться Опубликовано 26 ноября, 2018 нет. Есть родительская категория AUDI.В ней подкатегории: Audi A1 Hb 5-ти дв. с 10г. / Audi A3 (8V) Sd/Hb c 13г. и т.д. В каждой подкатегории по 1 товару.Ваш запрос меняет url подкатегориям (это ок) и меняет url родительской категории AUDI на NULL. При этом mysql ругается на то, что url не может быть NULL. Именно не нет, а как раз да.Вы сказали "У меня в каждой категории по 1 товару". А теперь посмотрите, сколько у Вас товаров в категории AUDI. Будете настаивать, что именно один? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 ноября, 2018 Жалоба Поделиться Опубликовано 26 ноября, 2018 Именно не нет, а как раз да.Вы сказали "У меня в каждой категории по 1 товару". А теперь посмотрите, сколько у Вас товаров в категории AUDI. Будете настаивать, что именно один?Корс тебе что в лоб что по лбу.Человек написал что по одному товару в каждой категории и это так, о количестве товаров в родительской категории речи не было, ты как всегда сам себе палки в колёса вставил. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 26 ноября, 2018 Жалоба Поделиться Опубликовано 26 ноября, 2018 Корс тебе что в лоб что по лбу.Человек написал что по одному товару в каждой категории и это так, о количестве товаров в родительской категории речи не было, ты как всегда сам себе палки в колёса вставил. Обычно не только программисты, но и обычные люди четко понимают смысл 'в каждой'... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 26 ноября, 2018 Жалоба Поделиться Опубликовано 26 ноября, 2018 Обычно не только программисты, но и обычные люди четко понимают смысл 'в каждой'...Ты необычный Цитата Ссылка на сообщение Поделиться на другие сайты
artbe Опубликовано 26 ноября, 2018 Автор Жалоба Поделиться Опубликовано 26 ноября, 2018 (изменено) Всем спасибо, вручную сделал Изменено 26 ноября, 2018 пользователем artbe Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.