@danforth

Как сделать два простых запроса в базу?

Всем привет.

Есть таблицы: shop_order и shop_order_items
В shop_order мне нужны два значения: discount и currency
В shop_order_items мне нужны два значения: price и purchase_price.

Все эти данные выводятся для одного заказа. Получается мне необходимо сделать так:
SELECT `discount`, `currency` FROM `shop_order` WHERE `id`=1;
SELECT `price`, `purchase_price` FROM `shop_order_items` WHERE `order_id`=1;

С точки зрения оптимизации и хорошей практики, можно как-то эти запросы объединить, чтобы ускорить или сделать более правильным?

Пробовал высыпать все в один SELECT, но тогда получается что значения начинают дублироваться, т.е. на один товар - два рядка.
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
Gobl1n
@Gobl1n
Программист
Используйте JOIN'ы.
К примеру
SELECT o.discount, o.currency, i.price, i.purchase 
FROM shop_order o 
RIGHT JOIN shop_order_items i
WHERE o.id=i.order_id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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