Заявка, групирана по месец в множество JOIN

Добре, групирам заявка по месеци, така че да получа запис за всеки месец от годината, но трябва да разбера как да направя това: основно групиране по месеци на два различни израза JOIN. Опитвам се да получа броя или сумата на количествата във всяка дъщерна таблица, ако е възможно в една заявка. Мога просто да превъртя в php, но се опитвам да намеря начин да го направя в mysql.

Ето една проба

SELECT SUM(purchase_quantity),SUM(sales_quantity)
FROM products p
INNER JOIN purchase_order_lines sl ON pl.product_id = p.id
INNER JOIN purchase_orders po ON pl.purchase_order_id = po.id
INNER JOIN sales_order_lines sl ON sl.product_id = p.id
INNER JOIN sales_orders so ON sl.sales_order_id = so.id
GROUP BY YEAR(so.posted & po.posted), MONTH(so.posted & po.posted)

Знам, че няма начин това да работи и логиката е абсурдна и това не е точно структурата на моята база данни, а просто идея за това как нещата са свързани и какво се опитвам да направя. Мисля, че ще трябва да се направи с подзаявки в оператора SELECT, но все още не съм измислил нищо. Ще продължа да мисля за това, но ако някой има някакви идеи, това би било страхотно.


person Kyro    schedule 19.10.2011    source източник


Отговори (1)


тъй като групирате резултата си, ще получите брой едно. защо не опитате да изпълните отделен оператор, който ще отчете резултата, и отделен оператор, за да го групирате.

person user836910    schedule 19.10.2011
comment
Не съм сигурен какво точно казваш. Опитвам се да намеря начин да го направя с един избор, ако е възможно. Имам начин, който ще работи, ако превъртя диапазоните от месеци в моя php код и просто направя избора за всеки месец в диапазона, върна резултатите и създам масив от тях. В момента това е единственото решение, което имам, но се надявам на по-ефективно, което не е толкова тежко за заявки, ако е възможно. - person Kyro; 19.10.2011