Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск заказов по товарам в них / 2 сообщений из 2, страница 1 из 1
18.06.2018, 12:18
    #39661921
diepower
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск заказов по товарам в них
Здравствуйте, помогите пожалуйста..
Есть базовые знания по MySQL запросам, но хочется сделать более правильно.. поэтому прошу помощи..

Задача:
Есть таблица заказов(хранится в таблице orders_list), в заказе есть список товаров(которые хранятся в таблице - orders_items, связь с `order_list` идет через поле `order_id`).
С помощью поиска по названию товара, необходимо найти заказы конкретного пользователя, в которых есть искомый товар.
Например вводим запрос в поиске - Ведро #123, надо получить из базы все заказы данного юзера, содержащие этот товар.

Кривой способ которым я могу решить задачу - получить сначала все заказы, в которых есть данный товар через таблицу orders_items.. а затем делать выборку заказов.. но тут придется фильтровать чужие(заказы не конкретного пользователя, а всех) заказы и тд... это лишняя обработка...
Можно наоборот, сначала все заказы взять юзера, а затем в цикле откинуть те что не содержат искомого товара.. но это тоже лишние трудозатраты ))


Думаю как-то с помощью JOIN или как-то иначе надо решить более грамотно данную задачу..
Направьте пожалуйста, кто уже владеет данными инструментами :)
Спасибо
...
Рейтинг: 0 / 0
18.06.2018, 14:07
    #39661991
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск заказов по товарам в них
diepowerполучить сначала все заказы, в которых есть данный товар через таблицу orders_items.. а затем делать выборку заказов.. но тут придется фильтровать чужие(заказы не конкретного пользователя, а всех) заказы и тд... это лишняя обработка...
Можно наоборот, сначала все заказы взять юзера, а затем в цикле откинуть те что не содержат искомого товара.. но это тоже лишние трудозатраты )) Бред. При выполнении запроса нет никаких "сначала" или "потом". Запрос - это единая, неделимая, атомарная единица. Так что просто связывай таблицы и фильтруй по челу и по товару. Получишь требуемое. А уж сервер как-нить и сам сообразит, как сделать это наиболее эффективно.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Поиск заказов по товарам в них / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]