2012-05-22 3 views
0

다음과 같은 쿼리에서이 오류가 발생합니다. 제발 도와주세요.'# 1111 - 그룹 기능 사용이 잘못되었습니다.'

#1111 - Invalid use of group function

  • t_person 표는 개인 정보
  • tr_category 표는
  • tr_testimonial 표는 평가 값 정보

모든 테이블이 personpkid 같은 일반적인 필드가 포함되어 분류 세부 사항이 포함되어 포함되어 있습니다. 당신이 결과를 필터링 그룹화 표현식을 사용 할 때

SELECT 
    p.*,c.*,t.* 
FROM 
    t_person p 
    LEFT JOIN tr_category c ON p.personpkid=c.personpkid 
    LEFT JOIN tr_testimonial t ON p.personpkid=t.personpkid 
WHERE 
    avg(t.ratingvalue)>=5 
GROUP BY 
    p.personpkid ORDER BY approvedate DESC 

이 SG

+0

질문을 쓰는 방법을 배우십시오 – shevski

+2

@ sheheski 만약 내가 당신을 투표 할 수 있다면. 무엇을 퍼팅하고 당신에게 제안한 것을 달성하는 데 도움이 될 수있는 링크 나 설명을 제공하지 않는 것은 무엇입니까? – RSM

+0

@RyanMurphy 확실, http://www.catb.org/~esr/faqs/smart-questions.html – shevski

답변

2

, 사전에 감사합니다, 당신은 HAVING 절을 사용해야합니다. 이것을 시도하십시오 :

SELECT 
    p.*,c.*,t.* 
FROM 
    t_person p 
    LEFT JOIN tr_category c ON p.personpkid=c.personpkid 
    LEFT JOIN tr_testimonial t ON p.personpkid=t.personpkid 
GROUP BY 
    p.personpkid ORDER BY approvedate DESC 
HAVING 
    avg(t.ratingvalue)>=5 
+0

Aleks G. 대단히 고맙습니다. 그것은 일련의 일련의 문제였습니다. 다시 감사드립니다. – user1409671

관련 문제