-1

このようなテーブルが2つあります

profile_answers

+---------+------------+
|      id | class_name |
+---------+------------+
|       1 | Class 1    |
|       2 | Class 2    |
|       3 | Class 1    |
+---------+------------+

教育

+---------+--------------------+------------+
|      id | profile_answers_id |  sample    |
+---------+--------------------+------------+
|       1 | 1                  |     1234   |
|       2 | 1                  |     2334   |
|       3 | 1                  |     3434   |
+---------+------------+--------------------+

私はクエリを実行しました、

select educations.profile_answer_id, GROUP_CONCAT(educations.sample) from educations
LEFT JOIN profile_answers ON educations.profile_answers_id = profile_answers.id

私は得た

+--------+--------------------+-------------+
|      id | sample                          | 
+---------+--------------------+------------+
|       1 | 1234,2334,3434                  |
+---------+------------+--------------------+

本当は欲しいのですが、

+--------+--------------------+-------------+
|      id | sample                          | 
+---------+--------------------+------------+
|       1 | 1234,2334,3434                  |
|       2 | NULL                            |
|       3 | NULL                            |  
+---------+------------+--------------------+

ISNULL、IFNULL を組み合わせて試してみgroup_by profile_answers.idましたが、正しい結果が得られましたが、実行時間の点でかなり高価であることが判明しました

4

1 に答える 1

2

これはあなたの前の質問の私の答えでした...

GROUP BY が見つからないようです:

select profile_answers.id, GROUP_CONCAT(educations.sample) 
from profile_answers
LEFT JOIN educations ON educations.profile_answers_id = profile_answers.id
GROUP BY profile_answers.id

また、JOIN を変更して、profile_answers テーブルをメイン テーブルにしました。

幸運を。

于 2013-02-11T20:37:06.707 に答える