2013-03-01 2 views
1

"amount"가 1500보다 큰 모든 레코드를 검색하려고했습니다. "amount"가 1500보다 작은 경우에도 페이지에 표시됩니다. .테이블의 모든 레코드를 가져 오는 중

customers table 
id name 
1 sample 
2 sample2 
3 sample3 


payments table 

p_id amount id(foreign key) 
1  800  2 
2  800  2 
3  1500 1 
4  1200 3 

의상 (1)과 (2)는 취득해야 할 양> =

1500 감사합니다, 믹 :) 때문에

이 테이블을 조인하는 데 필요한
+1

문제는 무엇인가? –

+0

금액이 1500 이상인 모든 고객을 반환합니다. –

+0

@Mick Austre - 각 개별 결제액 = 1500 또는 고객 당 총액 = 1500? –

답변

3

. SUM()을 사용하여 열 중 하나가 집계되고 HAVING 절이 집계 결과를 필터링하는 데 사용되므로 GROUP BY이 사용됩니다.

SELECT a.ID, a.name 
FROM customers a 
     INNER JOIN payments b 
      ON a.ID = b.id 
GROUP BY a.ID, a.name 
HAVING SUM(b.amount) >= 1500 
관련 문제