Итак, у меня есть таблица с именем clients
, другая - orders
и другие две, orders_type_a
и orders_type_b
.Получить значения из нескольких таблиц, связанных
То, что я пытаюсь сделать, это создать запрос, который возвращает список всех клиентов, и для каждого клиента он должен вернуть количество заказов на основе идентификатора этого клиента и суммы денег, которую этот клиент уже потратил.
И ... Я понятия не имею, как это сделать. Я знаю логику этого, но не могу узнать, как перевести в запрос MySQL.
У меня есть базовое-thinkimgoodbutimnot знание MySQL, но в этой ситуации я действительно запутался.
Вот изображение, чтобы проиллюстрировать лучше процесс, который я пытаюсь сделать:
Полезная дополнительная информация:
- Каждый
orders
ряд только одинtype
(которыйA
илиB
) - Каждая строка
orders
может иметь несколькоorders_type_X
(где X -A
илиB
) - заказы связаны с клиентом через колонку
client_id
orders_type_X
относятся сorders
через колонкуorder_id
Этот процесс делается сегодня, делая запрос для извлечения клиентов, а затем из каждой записи возвращается код выполните другой запрос (с помощью php), чтобы получить заказы, а еще один - для получения значений. Таким образом, в основном для каждой строки, возвращенной из первого запроса, внутри нее есть еще два. Излишне говорить, что это ужасный подход, производительность отстойная, и я вот почему я хочу ее изменить.
UPDATE ширина колонок таблицы:
клиенты:
id | name | phone
заказы:
id | client_id | date
orders_type_a:
id | order_id | number_of_items | price_of_single_item
orders_type_b:
id | order_id | number_of_shoes_11 | number_of_shoes_12 | number_of_shoes_13 | price_of_single_shoe
Для любой дополнительной информации, необходимой, просто спросите.
Я добавил больше информации о таблицах, я думаю, теперь его легче понять процесс. –