Помогите пожалуйста! Не могу написать запрос для получения суммы по заказу. Необходимо получить сумму по заказанным товарам, сумму по всем состояниям истории и сумму этих двух выражений, умноженную на скидку.
Вот таким образом все работает:
Код | SELECT order_client.id_order, Sum(order_goods.amount*goods.cost) AS Sum_goods, Sum(order_history.hours*stage_order.cost_in_hour) AS Sum_History, Sum(order_client.disk) AS [Sum-disk], Sum((1-order_client.disk)*((order_goods.amount*goods.cost+order_history.hours*stage_order.cost_in_hour))) AS Sum_order FROM goods INNER JOIN (stage_order INNER JOIN (order_history INNER JOIN (order_client INNER JOIN order_goods ON order_client.id_order=order_goods.id_order) ON order_client.id_order=order_history.id_order) ON stage_order.id_stage=order_history.id_stage) ON goods.id_goods=order_goods.id_goods GROUP BY order_client.id_order;
|
Но проблемма в том, что не по каждому заказу есть история. А суммы нужны по всем!
Пробовала так:
Код | SELECT order_client.id_order, Sum(order_goods.amount*goods.cost) AS Sum_goods, Sum(order_history.hours*stage_order.cost_in_hour) AS Sum_History, Sum(order_client.disk) AS [Sum-disk], Sum((1-order_client.disk)*((order_goods.amount*goods.cost+order_history.hours*stage_order.cost_in_hour))) AS Sum_order FROM goods INNER JOIN (stage_order INNER JOIN (order_history RIGHT JOIN (order_client LEFT JOIN order_goods ON order_client.id_order=order_goods.id_order) ON order_client.id_order=order_history.id_order) ON stage_order.id_stage=order_history.id_stage) ON goods.id_goods=order_goods.id_goods GROUP BY order_client.id_order;
|
Тогда вообще ошибка "не потдерживается выражение объединения". |