[英]Concatenate Sql column
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
您可以将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
替换了您的旧式隐式INNER JOIN
语法。 现在将联接条件放入WHERE
子句中通常被认为是不好的做法。
请尝试以下操作,希望对您有所帮助
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;
请参阅MySql GROUP_CONCAT()
作为分组查询的一部分。
http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html
例如,您将在查询末尾添加一个GROUP_BY assessement_group_id
。
在mySql中,您可以使用GROUP_CONCAT函数,请参见此处的更多详细信息: http : //dev.mysql.com/doc/refman/5.6/en/group-by-functions.html#function_group-concat 。
在您的初始查询中,您需要在select子句中添加GROUP_CONCAT(b.title),并且还需要在assesmentement_group_id之后添加分组依据。
这将帮助你
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.