Тогда задача:
Есть заказы (orders) в каждом - несколько товаров (order_items). Заказы бывают оплаченные и неоплаченные - за это рулит поле is_payed. Требуется посчитать общую суму оплаченных и неоплаченных заказов.
Делаю так
[SQL] select sum(if(is_payed=1,order_items.price,0)) as payed,sum(if(is_payed=0,order_items.price,0)) as unpayed from orders INNER JOIN order_items using(order_id) where ..
GROUP by order_id
[/SQL]
Так я вижу в рамках каждого заказа либо его "оплаченную стоимость" либо его "неоплаченную стоимость".
Ситуация усугубляется ещё и тем, что каждый заказ привязан к какому-то складу (есть таблица warehouses связанная с таблицей orders по warehouse_id). И надо выдавать эти сумы сгрупированные по складам.
Если бы в таблице хранилось поле "сумма заказа" (orders.cost) - проблем бы не было, масса вариантов.
[SQL] select sum(if(is_payed=1,orders.cost,0)) as payed,sum(if(is_payed=0,orders.cost,0)) as unpayed from orders INNER JOIN warehouse USINNG(warehouse_id) where
GROUP by warehouse_id
[/SQL]