mnml-by
@mnml-by
Молодой и талантливый

Как правильно составить SQL запрос?

Есть 4 таблицы.
Картинка
5fb613bf07108907780291.png

1. Из таблицы Order items нужно забрать строки у которых order_status=on-hold и order_status=processing. Желательно не брать всю строку целиком, а только столбцы order_id, store_id, customer_id и order_status

2. Из таблицы Orders data забрать строки у которых order_id=order_id (из первой таблицы) и data_key=_shipping_time data_key=_billing_phone

3. Из таблицы Stores забрать строки у которых id=store_id (из первой таблицы)

4. Из таблицы Customers забрать строки у которых id=customer_id (из первой таблицы)

Результат должен быть такой:
{
    order_id:  234,
    store_id: 5,
    customer_id: 3,
    order_status: processing,
    _shipping_time: 14_00,
    _billing_phone: 3245345,
    store_name: larek,
    store_address: ул. Толстого,
    customer_name: Olga
    customer_phone: 345345
}


Если я правильно понимаю, нужно делать подзапросы и джойнить результаты. Верно?
Спасибо за помощь
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
idShura
@idShura
select oi.order_id, 
       oi.store_id, 
       oi.customer_id, 
       oi.order_status 
  from order_items oi
      left join orders_data od on od.order_id = oi.order_id 
      left join stores st on st.id = oi.store_id
      left join customers cu on cu.id = oi.customer_id
  where oi.order_status = 'on-hold' 
    and oi.order_status = 'processing'
    and od.data_key = '_shipping_time'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы