2011-09-19 7 views
1
person(id primary key, name) 
money(acct primary key, loaner) 
loan(id primary key, acct) 

각 대출자에 대해 특정 대여자로부터 4 개 이상의 대출을받은 사람의 이름을 보여주는 SQL 쿼리는 어떻게 작성합니까?특정 개수의 SQL 쿼리

where 절에서 계산을 시도했지만 지금까지는 우둔합니다.

답변

0
SELECT p.id, p.name, m.loaner, COUNT(*) FROM person p 
    INNER JOIN loan l ON p.id = l.id 
    INNER JOIN money m ON l.acct = m.acct 
    GROUP BY id, name, lower 
    HAVING COUNT(*) > 4 

이것이 수행하는 ID, 이름, 대출의 각 조합에 대해 하나 개의 레코드로 설정 집계 된 기록을 만드는 것입니다 (loaner)와 그 조합이 몇 번이나 일어 났는지를 나타냅니다.

0

HAVING 절을 사용할 수 있습니다. 또는 모든 수를 얻을 수있는 하위 쿼리를 작성하고 사용 WHERE 외부 쿼리에서 계산> 4