0

次のクエリでこのエラーが発生しています。修正してください。

#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

4

1 に答える 1

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
于 2012-05-22T08:33:11.443 に答える