Запрос MySQL для расчета продаж / итогов

Мои таблицы базы данных:

Продукты
- id
- name
...

Заказы
- id
- статус
...

OrderItems
- id
- order_id
- product_id
- количество
- line_total

И я пытаюсь запросить все продукты, чтобы получить общее количество OrderItems и сумму line_totals, где статус заказа завершен ...

Итак, я могу создать таблицу:

Название продукта | Количество продаж | Всего продаж
сумка | 10 | 50,00 фунтов стерлингов
...

Кто-нибудь может помочь? Я быстро никуда не денусь ...


person designvoid    schedule 11.10.2013    source источник
comment
Вам нужны две концепции: JOIN, GROUP BY / SUM (столбец). С уважением, прочтите их.   -  person O. Jones    schedule 11.10.2013


Ответы (1)


Попробуй это:

SELECT
   p.name,
   COUNT(*) as total,
   SUM(line_total) as the_sum
FROM
   OrderItems oi
INNER JOIN Products p
   ON p.id = oi.product_id
LEFT JOIN Orders o
   ON o.id = oi.order_id
   AND o.status = 'complete'
GROUP BY
   p.name
person Stephan    schedule 11.10.2013