Задать вопрос
@evgen_nova

Как правильно переделать запрос к таблицам БД?

есть запрос к бд
("SELECT * FROM shop_products INNER JOIN shop_products_i18n ON shop_products.id = shop_products_i18n.id WHERE (shop_products.id = (SELECT MAX(id) FROM shop_products WHERE id < '".$id."' AND category_id = '".$cat_id."') OR shop_products.id = (SELECT MIN(id) FROM shop_products WHERE id > '".$id."' AND category_id = '".$cat_id."')) AND locale = '". $locale ."'")

но необходимо заменить запрос с одной таблицы на другую (была "shop_products" - стала "route"), получилось так:
("SELECT * FROM route INNER JOIN shop_products_i18n ON route.entity_id = shop_products_i18n.id WHERE (route.entity_id = (SELECT MAX(entity_id) FROM route WHERE entity_id < '".$id."') OR route.entity_id = (SELECT MIN(entity_id) FROM route WHERE entity_id > '".$id."')) AND locale = '". $locale ."'")

проблема в том что в старой таблице "shop_products" присутствовала колонка "category_id" - в "route" данной колонки нет.
Как можно прикрутить к новому коду старый смысл (AND category_id = '".$cat_id."'), если он находится в старой (незадействованной) таблице ?
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@niksee
а почему просто не сделать импот столбца category_id в новую таблицу ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы