Помогите составить mysql запрос

Помогите пожалуйста с mysql-запросом.

Есть такие таблицы: заказы orders id manager_id client_id

товары заказа order_products id order_id qty price

подробная информация по товару заказа order_product_info order_product_id status_id date где date - дата изменения статуса конкретного товара в заказе в одном заказе разница в дате изменения статуса товарных позиции может составлять несколько дней

оплата клиента client_payment id summ date order_id client_id

Нужно получить сумму потраченную клиентом за полгода, сумму оплаченную клиентом за полгода, сумму потраченную клиентом в выбранный период (dat1 - dat2) учитывая фильтр по manager_id, status_id (выбираться должны заказы в товарах которых самая поздняя дата изменения статуса попадает в выбранный период дат) сумму оплаченную клиентом в выбранный период (dat1 - dat2) учитывая фильтр по manager_id, status_id (выбираться должны заказы в товарах которых самая поздняя дата изменения статуса попадает в выбранный период дат)

Остановился на этом:

    SELECT * FROM
     (SELECT SUM(op1.qty * op1.price) AS summ, op1.order_id, o1.client_id, o1.manager_id
       FROM order_products op1
       LEFT JOIN orders o1 ON o1.id=op1.order_id
       JOIN (
           SELECT op.id, da.order_product_id, op.order_id
           FROM order_products op
           JOIN (SELECT opi.order_product_id
                 FROM order_product_info opi
                 WHERE opi.date between '2022-05-01 00:00:00' AND '2022-05-05 23:59:59'
                 AND opi.status_id=2
                 GROUP BY opi.order_product_id
                 ORDER BY opi.date DESC) da ON da.order_product_id=op.id
           LEFT JOIN orders o ON o.id=op.order_id
           WHERE o.client_id
           GROUP BY op.order_id) temp ON temp.order_id=op1.order_id
     GROUP BY o1.client_id) buy

Дальше либо получаю одну строку, либо получаю несколько строк (мало), либо вообще ничего не получаю.


Ответы (0 шт):