2011-10-19 3 views
0

좋아요, 매월 쿼리를 그룹화하므로 매월 기록이 나옵니다.하지만이를 수행하는 방법을 알아야합니다. 기본적으로 서로 다른 두 달에 한 달씩 그룹화해야합니다. JOIN 문. 가능하다면 하나의 쿼리에서 각 자식 테이블의 개수 또는 합계를 얻으려고합니다. PHP를 통해 반복 할 수 있지만 mysql에서 수행 할 방법을 찾으려고합니다.쿼리가 여러 개의 JOIN에 대해 월 단위로 그룹화되었습니다.

여기에 내가 거기에이 작업을 할 방법이 없다, 그리고 논리는 말도,이 정확히 물건을 연결하는 방법을 내 데이터베이스의 구조,하지만 그냥 생각이 아니다 알고있는 샘플

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 문에서 하위 쿼리를 수행해야 할 것이라고 생각 해요,하지만 난 아직 아무것도 오지 않았다. 나는 그것에 대해 계속 생각할 것입니다. 그러나 누군가 아이디어를 가지고 있다면, 그것은 굉장 할 것입니다.

답변

0

결과를 그룹화 했으므로 1을 계산할 수 있습니다. 결과를 집계하는 별도의 명령문을 실행하고 그룹화하는 별도의 명령문을 실행 해보십시오.

+0

정확하게 무엇을 말하고 있는지 잘 모릅니다. 가능하다면 하나의 선택에서 그것을 할 수있는 방법을 찾고 있습니다. 내 PHP 코드에서 달 범위를 통해 반복하고 그냥 범위 내에서 매월 선택하고, 결과를 반환하고 그들로부터 배열을 만들면 작동하는 방법이 있습니다. 그것은 현재 내가 가진 유일한 해결책이지만 가능한 경우 쿼리에 그리 무겁지 않은보다 효율적인 것을 원합니다. – Kyro

관련 문제