皆さん、この mysql クエリは localhost で正常に動作しています
$query3 = "SELECT tutor_category_subject.subject_id, GROUP_CONCAT( DISTINCT subject.subjects SEPARATOR ', ') AS teaching_subjects
FROM tutor_category_subject
INNER JOIN subject ON tutor_category_subject.subject_id = subject.subject_id
WHERE tutor_category_subject.tutor_id = $teacherId";
しかし、ライブサーバーにアップロードすると、機能せず、このエラーメッセージが表示されます.
GROUP BY 句がない場合、GROUP 列を使用せずに GROUP 列 (MIN()、MAX()、COUNT()、...) を混在させることはできません。
これは、GROUP BY 句を使用しないクエリ出力です。
+------------+-------------------------------+
| subject_id | teaching_subjects |
+------------+-------------------------------+
| 8 | Art & Craft |
| 10 | Buddhism |
| 12 | Catholicism |
| 14 | Christianity |
| 16 | Dancing |
| 34 | Accounting |
| 37 | Business Studies |
| 39 | Conbined Mathematics |
| 42 | General Infomation Technology |
+------------+-------------------------------+
誰かが私に何が問題なのか教えてもらえますか?
ありがとうございました
テーブルの説明
mysql> describe tutor_category_subject;
+-------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-----------------+------+-----+---------+----------------+
| tcs_id | int(4) unsigned | NO | PRI | NULL | auto_increment |
| tutor_id | int(4) unsigned | NO | | NULL | |
| category_id | int(2) unsigned | NO | | NULL | |
| subject_id | int(4) unsigned | NO | | NULL | |
+-------------+-----------------+------+-----+---------+----------------+
mysql> describe subject;
+------------+-----------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------------+------+-----+---------+----------------+
| subject_id | int(2) unsigned | NO | PRI | NULL | auto_increment |
| subjects | varchar(60) | NO | MUL | NULL | |
+------------+-----------------+------+-----+---------+----------------+
特定のチューターの科目を選択する必要があります。1 人のチューターがより多くの科目を担当できます。そのため、クエリで「GROUP_CONTACT()」を使用しました。group by 句がないと、クエリはローカル ホストで動作します。しかし、オンラインではありません。