2012-11-26 2 views
1

나는 매우 간단 함에도 불구하고이 과정에서 자신을 혼란스럽게 만들었습니다. & 쿼리를 작성했습니다.적절한 수의 이중 쿼리

2 개의 mysql 테이블이 있습니다.

Table1 has ... orderID, productID, quantity 
Table2 has ... orderID, status, time 

나는

Output (1 per line) 
productID - Quantity where status = 1 & time < $lastactive. 

내가 수량 제품 ID를 가져오고 계산하는 표 2의 쿼리를 수행하려고하지만 경우 2 개 개의 다른 주문 ID의의가 있습니다 ... 다음을 수행하는 질의를 할 필요가 동일한 제품 ID를 입력하면 합계가 계산되지 않습니다. 어떤 도움이라도 대단히 감사합니다 (테이블/행의 이름은 accurante입니다).

예 :

orderID 123, productID 2, quantity 4 
orderID 123, productID 5, quantity 6 
orderID 678, productID 2, quantity 5 

것 출력 :

2 9 
5 6 

답변

1

당신이 유사한 것을 사용 할 수 있어야한다 : 사용할 때 내가 항상 혼란 없어했다

select t1.productId, Sum(t1.quantity) Total 
from table1 t1 
inner join table2 t2 
    on t1.orderid = t2.orderid 
where t2.status = 1 
    and t2.time < $lastactive 
group by t1.productid 
+0

내부 조인과 합을 동시에 피할 수 있습니다. 그럼 mysql_fetch_array를 사용하면 출력이 $ row-> t1.productID $ row-> sum [t1.quantity]; 이것이 내가 왜 그렇게 혼란스러워하는지 –

+0

@MichaelClarke DBA가되고 싶지 않다면 쿼리 작성 도구를 사용하는 것이 좋습니다. – Rafael

관련 문제