0

おそらく誰かが以下のエラーに光を当てることができるかどうか疑問に思っています. SQLはローカルでは正常に機能しますが、リモートで以下のエラーが発生します。

SQL クエリ:

$inQ = "
    SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
    FROM category 
    INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
    INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
    WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
"; 

MySQL は次のように述べています。

#1140 - GROUP BY 句がない場合、GROUP 列のない GROUP 列 (MIN()、MAX()、COUNT()、...) の混合は不正です

4

2 に答える 2

0

エラーのとおり、GROUPBY句がないとグループ列と非グループ列を混在させることはできません。1つ追加してみてください:

SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
FROM category 
INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
GROUP BY category.category_name
于 2012-07-11T16:52:36.693 に答える
-1

私はあなたがこれを望んでいると信じています:

SELECT category.category_name, GROUP_CONCAT(subject.subjects SEPARATOR ', ') AS subjects
FROM category 
  INNER JOIN tutor_category_subject ON tutor_category_subject.category_id = category.category_id
  INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
WHERE tutor_category_subject.tutor_id = $tutorId AND tutor_category_subject.category_id = $categoryId
GROUP BY category.category_name, subject.subjects

GROUP BYselect を使用できるようにするには、句を追加する必要がありますGROUP_CONCAT

于 2012-07-11T16:54:42.033 に答える