Кто-нибудь знает решение этой проблемы?
Есть 3 таблицы: заказы , группы заказов и магазины .
Я хочу перечислить заказы с названиями магазинов, в которых был размещен заказ и куда будет доставлен заказ.
Я храню from_store_id
и to_store_id
в таблице order_groups
Перечислить эти ордера было бы просто, я просто оставил присоединиться к order_groups до ордеров и выбрал имя, from_shop_id
и to_shop_id
, но проблема в том, что я хочу название магазина, а не его идентификатор, а названия магазинов помещаются в другую таблицу (магазины)
Вот что я имею в виду:
Table orders
id group_id name madeup_id
1 11 johnny cash 1
2 12 billy bob 1
LEFT JOIN order_groups on order_groups.id = orders.group_id
Table order_groups
id from_store_id to_store_id
11 55 56
12 56 55
Table stores
id store_name
55 thisstore
56 thatstore
The result im looking for is:
name from_store to_store
1.johhny cash thisstore, thatstore
2.billy bob thatstore, thisstore
Утверждение, которое у меня есть:
SELECT
orders.name, something as from_store, something as to_store
FROM orders
LEFT JOIN order_groups on order_groups.id = orders.group_id
somehow join stores on the order_groups.from_store_id = stores.id
WHERE orders.madeup_id = 1
Есть идеи, как выбрать и присоединить имена магазинов к запросу?
Еще один вопрос. Я на самом деле хочу перечислить два вида заказов в одном запросе из разных таблиц, я на правильном пути с этой структурой?
SELECT a,b FROM a LEFT JOIN b ON b.something=a.something WHERE something
UNION ALL
SELECT a,b FROM c LEFT JOIN c ON c.something=a.something WHERE something