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
我正在使用联接来显示数据。结果如下所示
100 Partner Business Profile
99 Partner Activation
99 ajay test
100 ajaytest123
但我想要这种答案
100 Partner Business Profile,ajaytest123
99 Partner Activation,ajay test
答案 0 :(得分:2)
您可以使用GROUP_CONCAT(DISTINCT ...)
和GROUP BY
来获得所需的输出:
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
顺便说一句,我用显式INNER JOIN
替换了旧式的隐式连接语法。现在将连接条件放入WHERE
子句通常被认为是不好的做法。
答案 1 :(得分:1)
尝试以下内容,希望这有帮助
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;
答案 2 :(得分:0)
作为分组查询的一部分,请参阅MySql GROUP_CONCAT()
。
http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
例如,您可以在查询末尾添加GROUP_BY assessement_group_id
。
答案 3 :(得分:0)
在mySql中,您可以使用GROUP_CONCAT函数,请参阅此处更多详细信息:http://dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat。
在初始查询中,您需要在select子句中添加GROUP_CONCAT(b.title),并在assessement_group_id之后添加一个组。
答案 4 :(得分:0)
这个会帮助你
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;