2011-01-10 6 views
1

나는 조인을 사용하는 쿼리를 실행하고 있습니다. 그 안에 나는 총 금액을 부질의를 사용했습니다. 하위 쿼리의 결과에 따라 다음과 같이 정렬하고 싶습니다. 1064mysql 정렬 및 하위 쿼리 사용 사이

어떻게 서브 쿼리의 결과를 사용 sotring으로 쿼리 :

"select users.*, (select sum(amount) as camount from donation where donation.uid=users.id) as camount from users where users.confirmed=1 and camount between 3 and 5 order by camount"; 

는 오류가 발생합니다?

답변

0

사용자 선택을 시도. * (기부 (D)에서 합 (d.amount)를 선택, 여기서, u는 사용자 d.uid = u.id)로서 사용자로부터 camount = 1 camount users.confirmed 내림차순으로 3 ~ 5 개 주문

+0

없음 완전히 어떤 OP를 원한다. 쿼리는 * 각 레코드에 대한 * 모든 * 사용자의 총량을 가져옵니다. –

1

오류가 발생하는 원인을 모르지만 하위 선택을 내부 조인으로 이동하면 동일한 결과가 나타납니다.

SQL 문

select users.* 
     , donation.camount 
from users 
     INNER JOIN (
      select uid 
        , sum(amount) as camount 
      from donation 
      group by 
        uid 
     ) donation ON donation.uid = users.id 
where users.confirmed = 1 
     and donation.camount between 3 and 5 
order by 
     donation.camount