2016-07-20 23 views
2
SELECT DISTINCT a.assessement_group_id, 
       b.title as dataa 
FROM assessment_group a 
JOIN assessment_category b 
WHERE a.assessement_group_id = b.group_id 

を連結SQL列は、私はdata.the結果を表示するには、結合を使用しています

100  Partner Business Profile 
99  Partner Activation 
99  ajay test 
100  ajaytest123 

の下に表示されている。しかし、私はとしてMySQL GROUP_CONCAT()を参照してください答え

100 Partner Business Profile,ajaytest123 
    99  Partner Activation,ajay test 
+1

重複質問をするのに役立ちます。 [this](http://stackoverflow.com/questions/8516212/how-to-concatenate-values-with-same-id-in-sql)と[this](http://stackoverflow.com/questions/)を確認してください。 6603319/idに基づく連結値)answereres。 – Lonkey

+0

[MySQL結果がコンマ区切りリストとして表示される可能性があります](http://stackoverflow.com/questions/662207/mysql-results-as-comma-separated-list) – Drew

答えて

2

あなたが欲しいの出力を得るためにGROUP BYとともにGROUP_CONCAT(DISTINCT ...)を使用することができます。

SELECT a.assessement_group_id, 
     GROUP_CONCAT(DISTINCT b.title) 
FROM assessment_group a 
INNER JOIN assessment_category b 
    ON a.assessement_group_id = b.group_id 
GROUP BY a.assessement_group_id 

SQLFiddle

をところで、私はあなたの古いスタイルが暗黙の明示的なINNER JOINとの結合構文を置き換えます。通常、結合条件をWHERE節に入れるのは悪い習慣とみなされます。

1

次のような何かを試してみてくださいが、これはあなたがここで詳細を参照して、GROUP_CONCAT機能を使用することができますMySQLで

select id, group_concat(`dataa` separator ',') as `dataa` 
from 
(
    SELECT distinct a.assessement_group_id id, b.title as dataa 
    from assessment_group a JOIN assessment_category b 
    WHERE a.assessement_group_id=b.group_id 
) tbl 
group by id; 
0

に役立ちます願っています。

最初のクエリでは、select句にGROUP_CONCAT(b.title)を追加し、さらにassessmentement_group_idの後にグループを追加する必要があります。

0

この1つはあなたに

SELECT A.ASSESSEMENT_GROUP_ID, GROUP_CONCAT(B.TITLE SEPARATOR ' , ') AS DATAA FROM ASSESSMENT_GROUP A, ASSESSMENT_CATEGORY B WHERE A.ASSESSEMENT_GROUP_ID=B.GROUP_ID GROUP BY A.ASSESSEMENT_GROUP_ID; 
関連する問題