mysql получить список всех товаров, заказанных на клиента в диапазоне дат открыть корзину - PullRequest
1 голос
/ 02 февраля 2012

Мне нужно получить список клиентов и то, что они заказали, из базы данных, чтобы отправлять еженедельные отчеты, которые я хочу, чтобы результаты отображались как:

имя клиента имя клиента фамилия

название_продукта_заказа количество_продукта заказа
название_продукта заказа количество_продукта заказа
и т.д ..

для каждого клиента

Вот мои таблицы (если это поможет, оставьте ненужные столбцы в открытой корзине по умолчанию):

Клиент

Firstname
Lastname

заказ

customer_id
Order_id
DATE_ADDED

order_products

order_id
имя
количество

получил работу благодаря Catcall - диапазон дат

    $sql =  "select c.customer_id, c.firstname, c.lastname, 
                       o.order_id, o.date_added, 
                       op.name, op.quantity
                from `" . DB_PREFIX . "customer` c
                inner join `" . DB_PREFIX . "order` o on o.customer_id = c.customer_id
                inner join `" . DB_PREFIX . "order_product` op on o.order_id = op.order_id";

Может кто-нибудь объяснить, как обрабатывать массив в ранее запрошенном формате php

1 Ответ

1 голос
/ 02 февраля 2012

В стандартном SQL вы должны что-то сделать в этом направлении, чтобы получить данные.

select c.customer_id, c.first_name, c.last_name, 
       o.order_id, o.date_added, 
       op.name, op.quantity
from customer c
inner join orders o on o.customer_id = c.customer_id
inner join order_products op on o.order_id = op.order_id
where date_added > current_date - interval '7' day;

Но арифметика дат сильно зависит от платформы.

Обычно вас не интересует, как обстоят дела на уровне SQL. Помещение имени клиента в первую строку вывода и размещение названия продукта во второй строке является проблемой отображения - за это должен отвечать ваш автор отчетов. (Среди прочего, это позволяет использовать один и тот же запрос для множества разных отчетов.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...