2015-10-22 4 views
0

Мне нужна форма отчета, поэтому я пытаюсь перечислить категорию, имя пользователя, адрес электронной почты, телефон и т. Д. За исключением категории, все работает отлично, когда я нажимаю кнопку фильтра. Это мой вопрос:Модуль отчета Opencart Query

SELECT MIN(o.date_added) AS date_start, MAX(o.date_added) AS date_end, 
     COUNT(*) AS `orders`, SUM((SELECT SUM(op.quantity) FROM `oc_order_product` 
     op LEFT JOIN `oc_product_to_category` pc ON (op.product_id = pc.product_id) 
     WHERE op.order_id = o.order_id GROUP BY op.order_id)) 
     AS products, SUM((SELECT SUM(ot.value) FROM `oc_order_total` 
     ot WHERE ot.order_id = o.order_id AND ot.code = 'tax' GROUP BY ot.order_id)) 
     AS tax, SUM(o.total) AS `total` FROM `oc_order` o 
     WHERE o.order_status_id > '0' AND DATE(o.date_added) >= '2015-10-01' AND 
     DATE(o.date_added) <= '2015-10-22' And o.shipping_postcode = '4545456' AND 
     pc.category_id = '72' 

Пожалуйста, кто-нибудь исправит мой запрос.

+0

добавьте тег 'mysql', чтобы больше пользователей интересовались им. –

ответ

0

pc (oc_product_to_category) известен только во внутреннем запросе. Я думаю, что это помогает:

SELECT MIN(o.date_added) AS date_start, MAX(o.date_added) AS date_end, 
     COUNT(*) AS `orders`, SUM((SELECT SUM(op.quantity) FROM `oc_order_product` 
     op LEFT JOIN `oc_product_to_category` pc ON (op.product_id = pc.product_id) 
     WHERE op.order_id = o.order_id AND pc.category_id = '72' GROUP BY op.order_id)) 
     AS products, SUM((SELECT SUM(ot.value) FROM `oc_order_total` 
     ot WHERE ot.order_id = o.order_id AND ot.code = 'tax' GROUP BY ot.order_id)) 
     AS tax, SUM(o.total) AS `total` FROM `oc_order` o 
     WHERE o.order_status_id > '0' AND DATE(o.date_added) >= '2015-10-01' AND 
     DATE(o.date_added) <= '2015-10-22' And o.shipping_postcode = '4545456' 

Вопрос для вас: в каком «модуле отчета Opencart Query» вы используете?

Смежные вопросы